Function at 0x3698070
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4d0
push ebx
push ebp
push esi
push edi
push 8
lea eax, [esp + 0x6c]
mov dword [esp + 0x74], 1
mov ebx, ecx
mov dword [esp + 0x3c], 0x100
push eax
mov dword [esp + 0x44], ebx
xor ebp, ebp
call dword [0x1011f44c]
mov eax, dword [esp + 0x4e4]
push ebp
push ebp
push 0x20
push 1
push 7
push ebp
mov dword [esp + 0x70], eax
lea eax, [esp + 0x80]
push ebp
push eax
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x18
push eax
push 0x120089
lea eax, [esp + 0x3c]
mov dword [esp + 0x7c], ebp
push eax
mov dword [esp + 0x88], 0x40
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ebp
call fcn.036dd770
mov esi, eax
test esi, esi
jne 0x3698123
lea eax, [esp + 0x4c]
push eax
push 0x38
lea eax, [esp + 0xa0]
push eax
push esi
push dword [esp + 0x24]
call fcn.036e35e0
mov esi, eax
test esi, esi
je 0x3698132
push dword [esp + 0x14]
call fcn.036de710
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4d0
ret 0xc
mov esi, dword [ebx + 0x128]
mov edi, dword [esp + 0x4e8]
mov dword [esp + 0x18], 0x18
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], 0x40
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x50], esi
test esi, esi
je 0x369816d
mov eax, dword [esi]
push esi
call dword [eax + 4]
lea eax, [esp + 0x18]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], eax
mov ecx, ebx
lea eax, [esp + 0x50]
push eax
call fcn.036a0e70
test esi, esi
je 0x369818f
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebx]
mov ecx, ebx
push dword [esp + 0x14]
mov dword [esp + 0x38], ebp
xor esi, esi
call dword [eax + 0x24]
test eax, eax
je 0x36981cb
lea ecx, [esi + 8]
call fcn.03707780
mov esi, eax
test esi, esi
je 0x36981c9
mov dword [esi + 4], ebx
mov eax, dword [ebx + 0x130]
mov dword [esi], eax
mov dword [ebx + 0x130], 1
jmp 0x36981cb
xor esi, esi
push 8
lea eax, [esp + 0x6c]
push eax
call dword [0x1011f44c]
push 0
push 0
push 0x21
push 2
push 7
push dword [esp + 0xac]
lea eax, [esp + 0x80]
mov dword [esp + 0x30], 0x18
push 0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ebp
push eax
push 0x100002
lea eax, [esp + 0x5c]
mov dword [esp + 0x4c], 0x40
push eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
call fcn.036dd770
mov edi, eax
test edi, edi
je 0x369825b
push dword [esp + 0x14]
call fcn.036de710
test esi, esi
je 0x369824c
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [edx + 0x130], ecx
mov ecx, esi
call fcn.03707920
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4d0
ret 0xc
test esi, esi
je 0x3698271
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ecx + 0x130], eax
mov ecx, esi
call fcn.03707920
push dword [esp + 0x34]
call fcn.036de710
push 0x101094b4
lea eax, [esp + 0x8c]
push eax
call dword [0x1011f448]
mov edi, dword [esp + 0x4ec]
mov esi, 0x100
jmp 0x36982a4
mov esi, dword [esp + 0x38]
test ebp, ebp
je 0x36982af
mov ecx, ebp
call fcn.03707920
mov ecx, esi
call fcn.03707780
mov ebp, eax
lea eax, [esp + 0x7c]
push 8
push eax
call dword [0x1011f44c]
push 0
xor ecx, ecx
lea eax, [esp + 0x8c]
cmp dword [esp + 0x74], ecx
cmove eax, ecx
push eax
push 1
push 2
push esi
push ebp
lea eax, [esp + 0x94]
push eax
push ecx
push ecx
push ecx
push dword [esp + 0x3c]
call fcn.036e03f0
cmp eax, 0xc0000004
je 0x36987a5
cmp eax, 0x80000005
je 0x36987a5
cmp eax, 0xc0000023
je 0x36987a5
test eax, eax
jne 0x3698825
mov edi, dword [ebp + 0x3c]
mov esi, eax
shr edi, 1
mov ebx, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
inc edi
je 0x3698356
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov esi, eax
mov ebx, edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x44]
push ecx
push esi
call dword [0x1011f348]
xor eax, eax
lea ecx, [esp + 0x50]
push esi
mov word [esi + ebx*2 - 2], ax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
call fcn.0362a210
push dword [esp + 0x4e8]
lea ecx, [esp + 0xd4]
call fcn.036c0140
push 0x100f8728
lea ecx, [esp + 0xd4]
call fcn.036c0460
mov ebx, dword [esp + 0x50]
lea ecx, [esp + 0xd0]
push ebx
call fcn.036c0460
push dword [esp + 0x4e4]
lea ecx, [esp + 0x2dc]
call fcn.036c0140
push 0x100f8728
lea ecx, [esp + 0x2dc]
call fcn.036c0460
push ebx
lea ecx, [esp + 0x2dc]
call fcn.036c0460
mov eax, dword [ebp + 0x3c]
cmp eax, 4
jne 0x36983fc
cmp word [esi], 0x2e
jne 0x36983fc
cmp word [esi + 2], 0x2e
je 0x369840f
cmp eax, 2
jne 0x3698407
cmp word [esi], 0x2e
je 0x369840f
test eax, eax
jne 0x369848f
mov ecx, dword [esp + 0x2dc]
lea eax, [esp + 0x2e0]
cmp eax, ecx
je 0x3698426
call fcn.03707920
mov ecx, dword [esp + 0xd4]
lea eax, [esp + 0xd8]
cmp eax, ecx
je 0x369843d
call fcn.03707920
test ebx, ebx
je 0x3698460
mov ecx, ebx
call fcn.03707920
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x4ec]
test esi, esi
je 0x36982a0
mov ecx, esi
call fcn.03707920
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
jmp 0x36982a0
test dword [ebp + 0x38], 0x10
je 0x3698510
push dword [esp + 0x4ec]
mov ebx, dword [esp + 0x40]
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x2e0]
mov ecx, ebx
push eax
call fcn.03698070
mov edi, eax
test edi, edi
jne 0x36987b4
mov ecx, dword [esp + 0x2dc]
lea eax, [esp + 0x2e0]
cmp eax, ecx
je 0x36984db
call fcn.03707920
mov ecx, dword [esp + 0xd4]
lea eax, [esp + 0xd8]
cmp eax, ecx
je 0x36984f2
call fcn.03707920
lea ecx, [esp + 0x50]
call fcn.036231a0
lea ecx, [esp + 0x40]
call fcn.036294a0
mov edi, dword [esp + 0x4ec]
jmp 0x36982a0
push 8
lea eax, [esp + 0x78]
push eax
call dword [0x1011f44c]
push 0
push 0
push 0x20
push 1
push 4
push 0
lea eax, [esp + 0x2f0]
mov dword [esp + 0x30], 0x18
mov dword [esp + 0x38], eax
lea eax, [esp + 0x8c]
push 0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0
push eax
push 0x100001
lea eax, [esp + 0x58]
mov dword [esp + 0x4c], 0x40
push eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
call fcn.036dd770
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0xd0]
mov dword [esp + 0x20], eax
mov ecx, ebx
push 0
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x18
push eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0x40
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call fcn.0368ee60
mov eax, dword [ebx]
mov ecx, ebx
push dword [esp + 0x30]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x38], 0
call dword [eax + 0x24]
test eax, eax
je 0x369860f
mov ecx, 8
call fcn.03707780
test eax, eax
je 0x3698603
mov dword [eax + 4], ebx
mov ecx, dword [ebx + 0x130]
mov dword [eax], ecx
mov dword [ebx + 0x130], 1
jmp 0x3698605
xor eax, eax
push eax
lea ecx, [esp + 0x38]
call fcn.036a0580
push 8
lea eax, [esp + 0x94]
push eax
call dword [0x1011f44c]
push 0
push 0
push 0x60
push 2
push 7
push dword [ebp + 0x38]
lea eax, [esp + 0xe8]
mov dword [esp + 0x30], 0x18
mov dword [esp + 0x38], eax
lea eax, [esp + 0xa8]
push 0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0
push eax
push 0x100002
lea eax, [esp + 0x70]
mov dword [esp + 0x4c], 0x40
push eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
call fcn.036dd770
mov edi, eax
test edi, edi
jne 0x36987bf
lea ecx, [esp + 0x34]
call fcn.036a05b0
mov ecx, 0x400000
call fcn.03707780
push edi
mov edi, dword [0x100f5124]
mov esi, eax
lea eax, [esp + 0x50]
mov dword [esp + 0x6c], esi
push eax
push 0x400000
push esi
push dword [esp + 0x40]
mov dword [esp + 0x80], 0x400000
call edi
test eax, eax
je 0x36986fc
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x36986fc
push 0
lea ecx, [esp + 0x88]
push ecx
push eax
push esi
push dword [esp + 0x58]
call dword [0x100f5240]
push 0
lea eax, [esp + 0x50]
push eax
push 0x400000
push esi
push dword [esp + 0x40]
call edi
test eax, eax
jne 0x36986c7
lea ecx, [esp + 0x68]
call fcn.036294a0
mov edi, dword [esp + 0x4ec]
test edi, edi
je 0x369874e
mov eax, dword [esp + 0x30]
mov ecx, ebx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push 0
push eax
mov dword [esp + 0x20], 0x18
mov dword [esp + 0x2c], 0x40
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call fcn.0368ee60
push dword [esp + 0x30]
call fcn.036de710
push dword [esp + 0x48]
call fcn.036de710
mov ecx, dword [esp + 0x2dc]
lea eax, [esp + 0x2e0]
cmp eax, ecx
je 0x3698777
call fcn.03707920
mov ecx, dword [esp + 0xd4]
lea eax, [esp + 0xd8]
cmp eax, ecx
je 0x369878e
call fcn.03707920
lea ecx, [esp + 0x50]
call fcn.036231a0
lea ecx, [esp + 0x40]
call fcn.036294a0
jmp 0x36982a0
add esi, 0x100
mov dword [esp + 0x38], esi
jmp 0x36982a4
push dword [esp + 0x14]
call fcn.036de710
jmp 0x36987da
push dword [esp + 0x30]
call fcn.036de710
push dword [esp + 0x14]
call fcn.036de710
lea ecx, [esp + 0x34]
call fcn.036a05b0
mov ecx, dword [esp + 0x2dc]
lea eax, [esp + 0x2e0]
cmp eax, ecx
je 0x36987f1
call fcn.03707920
mov ecx, dword [esp + 0xd4]
lea eax, [esp + 0xd8]
cmp eax, ecx
je 0x3698808
call fcn.03707920
cmp dword [esp + 0x50], 0
je 0x3698818
mov ecx, dword [esp + 0x50]
call fcn.03707920
test esi, esi
je 0x3698872
mov ecx, esi
call fcn.03707920
jmp 0x3698872
test edi, edi
je 0x3698867
mov eax, dword [esp + 0x14]
mov ecx, ebx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push 0
push eax
mov dword [esp + 0x20], 0x18
mov dword [esp + 0x2c], 0x40
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call fcn.0368ee60
push dword [esp + 0x14]
call fcn.036de710
xor edi, edi
test ebp, ebp
je 0x369824c
mov ecx, ebp
call fcn.03707920
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4d0
ret 0xc