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

Disassembly:
sub esp, 0x73c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x754]
mov ebp, ecx
mov ecx, dword [esp + 0x750]
mov eax, dword [edi + 4]
mov dword [esp + 0x40], eax
lea eax, [ecx + 0x214]
mov dword [esp + 0x38], eax
jmp 0x368e2c0
mov esi, dword [ecx + 0x210]
mov esi, dword [esi + 8]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x368e2d7
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [esi]
mov ecx, esi
mov ebx, dword [ebp + 0x138]
call dword [eax + 0xc]
mov edx, dword [ebx]
mov ecx, ebx
mov edi, eax
call dword [edx + 0xc]
cmp edi, eax
jne 0x368e307
mov ecx, dword [ebp + 0x138]
mov eax, dword [ecx]
call dword [eax + 0x14]
test eax, eax
je 0x368e307
mov eax, 1
jmp 0x368e309
xor eax, eax
mov ebx, dword [esp + 0x38]
test al, al
je 0x368e4a4
movzx eax, word [ebx + 8]
mov ecx, dword [ebx]
add eax, eax
mov word [esp + 0xb8], ax
mov word [esp + 0xba], ax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
push 8
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0xac], ecx
push eax
call dword [0x1011f348]
mov eax, dword [esi]
lea ecx, [esp + 0x508]
push ecx
mov ecx, esi
call dword [eax + 0x1c]
push ecx
lea eax, [esp + 0x50c]
push eax
lea ecx, [esp + 0x60]
call fcn.036bffb0
mov ecx, ebp
test eax, eax
jne 0x368e483
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.03683ea0
xor eax, eax
mov dword [esp + 0x304], 0
mov dword [esp + 0x300], eax
lea edx, [esp + 0xf8]
lea eax, [esp + 0x300]
push eax
lea ecx, [esp + 0x50c]
call fcn.036a6050
mov ecx, dword [0x1011f360]
add esp, 4
mov eax, dword [ecx]
call dword [eax + 0xf8]
test eax, eax
je 0x368e444
push 0x10102b84
push ecx
lea eax, [esp + 0x308]
push eax
push ecx
push 0x10108fa0
push ecx
push 0x10108f58
push 0x100f7c84
push 2
lea ecx, [esp + 0x104]
call fcn.0363b9e0
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c140
add esp, 4
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0xe0]
call fcn.0363bfe0
lea eax, [esp + 0x300]
mov ecx, ebp
push eax
call fcn.0369d700
mov ecx, dword [esp + 0x304]
lea eax, [esp + 0x308]
cmp eax, ecx
je 0x368e46a
call fcn.03707920
mov ecx, dword [esp + 0xfc]
lea eax, [esp + 0x100]
cmp eax, ecx
je 0x368e48d
call fcn.03707920
jmp 0x368e48d
lea eax, [esp + 0x58]
push eax
call fcn.0369d700
mov ecx, dword [esp + 0x50c]
lea eax, [esp + 0x510]
cmp eax, ecx
je 0x368e4a4
call fcn.03707920
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
cmp eax, 3
je 0x368eded
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
test eax, eax
jne 0x368edd5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
jne 0x368ed91
mov eax, dword [esp + 0x754]
cmp dword [eax + 8], 3
jne 0x368e63a
mov ecx, esi
call fcn.036a67a0
mov edi, eax
test edi, edi
je 0x368e633
cmp edi, 3
je 0x368eb4a
cmp edi, 1
je 0x368e50b
cmp edi, 2
jne 0x368e633
xor eax, eax
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], eax
lea ecx, [esp + 0x508]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0xf4]
mov dword [esp + 0xd4], ecx
push eax
mov ecx, ebx
call fcn.03681fe0
mov edx, eax
lea ecx, [esp + 0xd4]
call fcn.036a6050
mov ecx, dword [esp + 0x510]
lea eax, [esp + 0x514]
add esp, 4
cmp eax, ecx
je 0x368e580
call fcn.03707920
mov eax, dword [esp + 0xf8]
mov ecx, ebp
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xc8]
push eax
call fcn.0369d850
test eax, eax
jne 0x368eb25
mov ecx, dword [ebp + 0x128]
lea edx, [esp + 0x68]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x68], 0x18
mov dword [esp + 0x74], 0x40
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [ecx]
push edx
call dword [eax + 0x88]
mov ebx, eax
test ebx, ebx
je 0x368eaf8
cmp ebx, 0xc0000034
je 0x368e613
cmp ebx, 0xc000003a
jne 0x368eb2a
cmp edi, 1
jne 0x368eac7
mov ecx, dword [esp + 0xfc]
lea eax, [esp + 0x100]
cmp eax, ecx
je 0x368e633
call fcn.03707920
mov eax, dword [esp + 0x754]
cmp dword [ebp + 0x130], 1
je 0x368e64d
cmp dword [eax + 8], 0
jne 0x368ec1e
cmp dword [eax + 8], 0
je 0x368e68e
mov edx, dword [esp + 0x40]
cmp dword [edx + 8], 0
jne 0x368e68e
mov ecx, dword [ebp + 0x128]
lea edi, [esp + 0xec]
push edi
push 0x38
lea edi, [esp + 0x70]
mov eax, dword [ecx]
push edi
push 0
push dword [edx + 4]
call dword [eax + 0x24]
test eax, eax
jne 0x368e68e
test dword [esp + 0x6c], 0x12010000
je 0x368ec2c
mov eax, dword [esi]
mov edi, esi
push esi
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], edi
call dword [eax + 4]
lea ecx, [esp + 0x28]
call fcn.03682220
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.03681ed0
test eax, eax
je 0x368e9c0
jmp 0x368e6d0
xor eax, eax
mov dword [esp + 0x304], 0
mov dword [esp + 0x300], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], eax
cmp dword [esp + 0x28], eax
jne 0x368e709
lea ecx, [esp + 0x2c]
call fcn.036a5680
test eax, eax
je 0x368ec36
cmp dword [esp + 0x34], 1
jne 0x368e7b8
mov eax, dword [ebx]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 0x128]
sub ecx, eax
mov dword [esp + 0x64], eax
mov ax, word [esp + 0x2c]
sar ecx, 1
shr ax, 1
add cx, ax
mov dword [esp + 0x68], 0x18
add cx, cx
mov dword [esp + 0x6c], 0
mov word [esp + 0x60], cx
lea eax, [esp + 0x60]
mov word [esp + 0x62], cx
lea ecx, [esp + 0x710]
push ecx
mov dword [esp + 0x78], 0x40
lea ecx, [esp + 0x6c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov eax, dword [edx]
push ecx
mov ecx, edx
call dword [eax + 0xc8]
test eax, eax
jne 0x368ecba
push dword [esp + 0x30]
lea ecx, [esp + 0xfc]
push dword [esp + 0x30]
call fcn.036c0280
push eax
lea ecx, [esp + 0x304]
call fcn.036c02e0
jmp 0x368e849
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
cmp eax, 1
je 0x368ed01
cmp dword [esp + 0x28], 0
je 0x368e80b
lea ecx, [esp + 0x2c]
call fcn.036a64a0
test eax, eax
je 0x368ecc1
push dword [esp + 0x30]
lea ecx, [esp + 0xfc]
mov dword [esp + 0x50], 0x10
push dword [esp + 0x30]
call fcn.036c0280
push eax
lea ecx, [esp + 0x304]
call fcn.036c02e0
jmp 0x368e849
lea eax, [esp + 0x4c]
mov ecx, ebx
push eax
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0x308]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0xb8]
push eax
call fcn.03682040
lea edx, [esp + 0x38]
mov ecx, eax
call fcn.036a5770
add esp, 0xc
test eax, eax
je 0x368ecc1
cmp dword [esp + 0x34], 1
mov eax, dword [esp + 0xf8]
mov ecx, dword [ebp + 0x138]
mov dword [esp + 0x14], 0
jne 0x368e8db
mov dword [esp + 0xd8], eax
lea edx, [esp + 0xd8]
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x300]
push 3
push edx
mov dword [esp + 0xc8], eax
lea edx, [esp + 0xc8]
mov eax, dword [esp + 0x30c]
mov dword [esp + 0xcc], eax
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x60]
push edx
call dword [eax + 0xac]
push eax
lea ecx, [esp + 0x18]
call fcn.0364c320
mov eax, dword [esp + 0x54]
test eax, eax
je 0x368e94f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x54], 0
jmp 0x368e94f
test byte [esp + 0x4c], 0x10
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x24], eax
mov eax, 0
mov edx, dword [ecx]
setne al
inc eax
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x5c]
push eax
call dword [edx + 0xac]
push eax
lea ecx, [esp + 0x18]
call fcn.0364c320
mov eax, dword [esp + 0x50]
test eax, eax
je 0x368e94f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x50], 0
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x44]
push esi
push edi
call fcn.036a0160
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x40]
call fcn.0364c320
test esi, esi
je 0x368e976
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov ecx, dword [esp + 0xfc]
lea eax, [esp + 0x100]
cmp eax, ecx
je 0x368e98d
call fcn.03707920
mov ecx, dword [esp + 0x304]
lea eax, [esp + 0x308]
cmp eax, ecx
je 0x368e9a4
call fcn.03707920
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.03681ed0
mov edi, dword [esp + 0x3c]
test eax, eax
jne 0x368e6d0
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x754]
mov eax, dword [ebx + 8]
cmp eax, 3
ja 0x368ed74
jmp dword [eax*4 + 0x1006fa44]
cmp edi, 2
jne 0x368eb1e
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 8]
test eax, eax
je 0x368eaf8
xor ecx, ecx
cmp cx, word [eax]
je 0x368eaf8
mov ecx, dword [ebp + 0x128]
lea edi, [esp + 0x68]
push edi
push edx
mov eax, dword [ecx]
call dword [eax + 0xc0]
mov ebx, eax
test ebx, ebx
jne 0x368eb2a
mov eax, dword [esp + 0xf8]
mov ecx, ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push eax
call fcn.0369d700
xor ebx, ebx
jmp 0x368eb2a
mov ebx, 0xc0000229
jmp 0x368eb2a
mov ebx, 0xc0000034
mov ecx, dword [esp + 0xfc]
lea eax, [esp + 0x100]
cmp eax, ecx
je 0x368ee2e
call fcn.03707920
jmp 0x368ee2e
xor eax, eax
mov dword [esp + 0x304], 0
mov dword [esp + 0x300], eax
lea ecx, [esp + 0x508]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, ebx
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x300]
push eax
lea eax, [esp + 0xac]
mov dword [esp + 0x24], edx
push eax
call fcn.03681fe0
mov edx, eax
lea ecx, [esp + 0x24]
call fcn.036a6050
mov ecx, dword [esp + 0x510]
lea eax, [esp + 0x514]
add esp, 4
cmp eax, ecx
je 0x368ebb6
call fcn.03707920
mov ecx, dword [ebp + 0x128]
lea eax, [esp + 0x300]
mov dword [esp + 0x68], 0x18
lea edx, [esp + 0x68]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 0x40
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [ecx]
push edx
call dword [eax + 0x88]
mov ecx, dword [esp + 0x304]
mov ebx, eax
lea eax, [esp + 0x308]
cmp eax, ecx
je 0x368ee2e
call fcn.03707920
jmp 0x368ee2e
mov ecx, eax
call fcn.0369e690
mov ebx, eax
jmp 0x368ee2e
mov ebx, 0xc0000022
jmp 0x368ee2e
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
call dword [eax + 0xf8]
test eax, eax
je 0x368ecb3
push 0x10102b84
push ecx
push 0x10108ff0
push ecx
lea eax, [esp + 0x3c]
push eax
push ecx
push 0x10108c94
push ecx
push 0x10108fb4
push 0x100f7c84
push 2
lea ecx, [esp + 0x10c]
call fcn.0363b9e0
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c140
add esp, 4
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0xe0]
call fcn.0363bfe0
mov ebx, 0xc0000033
jmp 0x368ed06
mov ebx, 0xc0000034
jmp 0x368ed06
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.03681ed0
test eax, eax
je 0x368ecee
cmp dword [esp + 0x34], 0
jne 0x368ecee
mov eax, 1
mov ebx, 0xc0000034
test eax, eax
mov ecx, 0xc000003a
cmovne ebx, ecx
jmp 0x368ed06
xor eax, eax
mov ebx, 0xc0000034
test eax, eax
mov ecx, 0xc000003a
cmovne ebx, ecx
jmp 0x368ed06
mov ebx, 0xc000003a
mov ecx, dword [esp + 0xfc]
lea eax, [esp + 0x100]
cmp eax, ecx
je 0x368ed1d
call fcn.03707920
mov ecx, dword [esp + 0x304]
lea eax, [esp + 0x308]
cmp eax, ecx
je 0x368ed34
call fcn.03707920
mov esi, dword [esp + 0x1c]
jmp 0x368ed79
mov ebx, 0xc000000d
test edi, edi
je 0x368ed83
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [esp + 0x44]
call fcn.03641d60
jmp 0x368ee2e
mov edi, dword [esp + 0x754]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x1c], 0xffffffff
push eax
push dword [edi + 8]
lea eax, [esp + 0xb4]
mov ecx, ebx
push eax
call fcn.03681fe0
push eax
push esi
call fcn.0368db60
cmp dword [esp + 0x18], 0
je 0x368ee2a
mov ecx, edi
call fcn.0369e690
mov ebx, eax
jmp 0x368ee2e
mov ecx, ebx
call fcn.03682180
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 6
add ebx, 0xc0000034
jmp 0x368ee2e
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebx + 8]
jge 0x368edfc
mov ebx, 0xc000000d
jmp 0x368ee2e
mov ebx, dword [esp + 0x754]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
push dword [ebx + 8]
push esi
call fcn.0368da00
cmp dword [esp + 0x18], 0
je 0x368ee2a
mov ecx, ebx
call fcn.0369e690
mov ebx, eax
jmp 0x368ee2e
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi]
push esi
call dword [eax + 8]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x73c
ret 8