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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8bc
push ebx
push esi
push edi
push dword [ebp + 0xc]
xor eax, eax
mov dword [esp + 0x4c0], 0
mov dword [esp + 0x4bc], eax
mov esi, ecx
lea eax, [esp + 0x3c]
mov dword [esp + 0x30], esi
push eax
call dword [0x1011f448]
mov edi, dword [ebp + 8]
lea eax, [esp + 0x38]
mov dword [esp + 0x60], eax
mov ecx, esi
lea eax, [esp + 0x4b8]
mov dword [esp + 0x58], 0x18
push eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x60], edi
push eax
mov dword [esp + 0x6c], 0x40
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
call fcn.03649780
mov ebx, eax
test ebx, ebx
je 0x3647c10
or ebx, 0x10000000
jmp 0x36482a7
push dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], eax
mov ecx, esi
mov dword [esp + 0x294], eax
lea eax, [esp + 0x4bc]
push edi
push eax
call fcn.03640f70
mov eax, dword [esp + 0x4b8]
lea ecx, [esp + 0x88]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x48]
push eax
push dword [esi + 0x2c]
call fcn.036bbf80
test eax, eax
jne 0x364826f
push 0x100f7c80
lea eax, [esp + 0x44]
push eax
call dword [0x1011f448]
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x290]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
test edi, edi
je 0x3647ca1
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov esi, edi
mov dword [esp + 0x1c], esi
test edi, edi
je 0x3647cb1
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ebx, dword [esp + 0x29c]
lea eax, [esp + 0x80]
push 0x100f7c80
push eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call dword [0x1011f448]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x298]
call fcn.036b7300
mov dword [esp + 0x29c], ebx
test eax, eax
je 0x3647dbe
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x298]
call fcn.036b7300
test eax, eax
je 0x3647f09
jmp 0x3647d20
lea ecx, [esp + 0x294]
mov dword [esp + 0x10], 0
call fcn.036b73b0
test eax, eax
je 0x3647d3c
xor edx, edx
jmp 0x3647d4e
push dword [ebp + 0x14]
lea eax, [esp + 0x74]
push eax
call dword [0x1011f448]
lea edx, [esp + 0x70]
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x10]
push ebx
push 1
push edx
mov ecx, dword [eax + 0x2c]
lea edx, [esp + 0x3c]
push edx
push esi
mov eax, dword [ecx]
call dword [eax + 0x7c]
mov ebx, eax
test ebx, ebx
jne 0x364808c
push dword [esp + 0x10]
lea ecx, [esp + 0x28]
push esi
call fcn.0364c7a0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x20]
call fcn.0364c320
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3647d9c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x298]
call fcn.036b7300
mov esi, dword [esp + 0x1c]
test eax, eax
jne 0x3647d20
jmp 0x3647f09
cmp dword [ebp + 0x18], 0
je 0x3647f09
xor eax, eax
mov dword [esp + 0x6c4], 0
mov dword [esp + 0x6c0], eax
lea ecx, [esp + 0x6c0]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x10]
mov ebx, eax
test ebx, ebx
jne 0x36480e9
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x20]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x14]
mov ebx, eax
test ebx, ebx
js 0x36480cb
mov eax, dword [esp + 0x6c0]
push dword [ebp + 0x14]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x6c8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], 0
mov ebx, dword [eax + 0x2c]
lea eax, [esp + 0x7c]
push eax
call dword [0x1011f448]
mov eax, dword [ebx]
lea ecx, [esp + 0xc]
push ecx
push 3
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x5c]
push ecx
push dword [esp + 0x30]
mov ecx, ebx
call dword [eax + 0x7c]
mov ebx, eax
test ebx, ebx
jne 0x36480b3
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x18]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x14]
mov ebx, eax
test ebx, ebx
jne 0x364809d
push dword [esp + 0xc]
lea ecx, [esp + 0x28]
push dword [esp + 0x1c]
call fcn.0364c7a0
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [esp + 0xc]
mov esi, eax
test eax, eax
je 0x3647eb0
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x3647eca
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 0
test eax, eax
je 0x3647edc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x3647ef2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x6c4]
lea eax, [esp + 0x6c8]
cmp eax, ecx
je 0x3647f09
call fcn.03707920
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x10], eax
test eax, eax
je 0x3647f22
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
push dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x2a8], 0
push dword [ebp + 8]
mov dword [esp + 0x2a8], eax
mov ecx, ebx
mov dword [esp + 0x4b0], eax
lea eax, [esp + 0x4c0]
push eax
call fcn.03640f70
mov eax, dword [esp + 0x4b8]
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
push dword [ebx + 0x2c]
call fcn.036bbf80
test eax, eax
jne 0x36481f0
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x3647fa4
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x3647fbc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp ebx, 1
jne 0x364810f
mov ecx, dword [esp + 0x4a8]
test ecx, ecx
je 0x3647fe1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x4a8], 0
mov ecx, dword [esp + 0x2a4]
lea eax, [esp + 0x2a8]
cmp eax, ecx
je 0x3647ff8
call fcn.03707920
mov eax, dword [esp + 0x10]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x78]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x3648023
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x3648039
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x24], 0
test esi, esi
je 0x3648043
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esp + 0x290]
test ecx, ecx
je 0x3648065
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x290], 0
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x90]
mov esi, dword [esp + 0x2c]
mov edi, dword [ebp + 8]
cmp eax, ecx
je 0x3647c10
call fcn.03707920
jmp 0x3647c10
mov eax, dword [esp + 0x10]
test eax, eax
je 0x364823d
jmp 0x3648237
mov eax, dword [esp + 0x18]
test eax, eax
je 0x36480b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x36480d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0xc], 0
jmp 0x36480d1
and ebx, 0xefffffff
mov eax, dword [esp + 0x20]
test eax, eax
je 0x36480ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x20], 0
jmp 0x36480ef
and ebx, 0xefffffff
mov ecx, dword [esp + 0x6c4]
lea eax, [esp + 0x6c8]
cmp eax, ecx
je 0x3648259
call fcn.03707920
jmp 0x3648259
test ebx, ebx
je 0x364811e
and ebx, 0xefffffff
jmp 0x36481f5
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x3648131
mov eax, dword [ebx]
mov ecx, ebx
push dword [esp + 0x28]
call dword [eax + 0x44]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x3648144
mov dword [eax], esi
test esi, esi
je 0x3648144
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [esp + 0x4a8]
test ecx, ecx
je 0x3648160
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x4a8], 0
mov ecx, dword [esp + 0x2a4]
lea eax, [esp + 0x2a8]
cmp eax, ecx
je 0x3648177
call fcn.03707920
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x78]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x3648198
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test ebx, ebx
je 0x36481a2
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
test esi, esi
je 0x36481ac
mov eax, dword [esi]
push esi
call dword [eax + 8]
test edi, edi
je 0x36481b6
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esp + 0x290]
test ecx, ecx
je 0x36481d2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x290], 0
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x90]
cmp eax, ecx
je 0x36481e9
call fcn.03707920
xor ebx, ebx
jmp 0x36482a7
mov ebx, 0x80004005
mov ecx, dword [esp + 0x4a8]
test ecx, ecx
je 0x3648211
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x4a8], 0
mov ecx, dword [esp + 0x2a4]
lea eax, [esp + 0x2a8]
cmp eax, ecx
je 0x3648228
call fcn.03707920
mov eax, dword [esp + 0x10]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x78]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x364824b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x3648259
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test esi, esi
je 0x3648263
mov eax, dword [esi]
push esi
call dword [eax + 8]
test edi, edi
je 0x3648274
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x3648274
mov ebx, 0x80004005
mov ecx, dword [esp + 0x290]
test ecx, ecx
je 0x3648290
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x290], 0
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x90]
cmp eax, ecx
je 0x36482a7
call fcn.03707920
mov ecx, dword [esp + 0x4bc]
lea eax, [esp + 0x4c0]
cmp eax, ecx
je 0x36482be
call fcn.03707920
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x18