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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x154
mov eax, dword [0x5810ac]
push ebx
push esi
push edi
mov edi, dword [0x550c38]
push eax
lea ecx, [esp + 0x114]
xor esi, esi
push str._s_1
push ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
xor ebx, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x70], 1
mov dword [esp + 0x48], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x80], esi
call edi
lea edx, [esp + 0x80]
lea eax, [esp + 0x11c]
push edx
push 0x200000
push eax
call fcn.004bd110
add esp, 0x18
test eax, eax
jne 0x4fa29a
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x3c]
push ecx
push edx
call fcn.004fd4f0
add esp, 8
test eax, eax
jne 0x4fa29a
lea eax, [esp + 0x74]
push 1
push eax
call fcn.004bbef0
lea ecx, [esp + 0x7c]
push ecx
call fcn.004bbec0
lea edx, [esp + 0x80]
push edx
call fcn.004bbe70
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x4fa29a
mov eax, dword [0x5810ac]
lea ecx, [esp + 0x110]
push eax
push str._s_2
push ecx
call edi
lea edx, [esp + 0x64]
lea eax, [esp + 0x11c]
push edx
push 0x200000
push eax
call fcn.004bd110
add esp, 0x18
test eax, eax
jne 0x4fa29a
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x3c]
push ecx
push edx
call fcn.004fd4f0
add esp, 8
test eax, eax
jne 0x4fa29a
lea eax, [esp + 0x58]
push 1
push eax
call fcn.004bbef0
lea ecx, [esp + 0x60]
push ecx
call fcn.004bbec0
lea edx, [esp + 0x64]
push edx
call fcn.004bbe70
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x1c], eax
je 0x4fa29a
mov eax, dword [0x5810ac]
lea ecx, [esp + 0x110]
push eax
push str._s_3
push ecx
call edi
lea edx, [esp + 0x74]
lea eax, [esp + 0x11c]
push edx
push 0x200000
push eax
call fcn.004bd110
add esp, 0x18
test eax, eax
jne 0x4fa29a
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x3c]
push ecx
push edx
call fcn.004fd4f0
add esp, 8
test eax, eax
jne 0x4fa29a
lea eax, [esp + 0x68]
push 1
push eax
call fcn.004bbef0
lea ecx, [esp + 0x70]
push ecx
call fcn.004bbec0
lea edx, [esp + 0x74]
push edx
call fcn.004bbe70
mov ebx, eax
add esp, 0x10
cmp ebx, esi
je 0x4fa29a
cmp dword [ebp + 8], 4
jne 0x4f9d5a
mov eax, dword [0x5810ac]
lea ecx, [esp + 0x110]
push eax
push str._s_4
push ecx
call edi
lea edx, [esp + 0x58]
lea eax, [esp + 0x11c]
push edx
push 0x200000
push eax
call fcn.004bd110
add esp, 0x18
test eax, eax
jne 0x4fa29a
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x3c]
push ecx
push edx
call fcn.004fd4f0
add esp, 8
test eax, eax
jne 0x4fa29a
lea eax, [esp + 0x4c]
push 1
push eax
call fcn.004bbef0
lea ecx, [esp + 0x54]
push ecx
call fcn.004bbec0
lea edx, [esp + 0x58]
push edx
call fcn.004bbe70
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x18], eax
je 0x4fa29a
jmp 0x4f9fc4
mov edi, dword [esp + 0x20]
lea eax, [esp + 0xc8]
lea ecx, [esp + 0x80]
push eax
push ecx
push edi
call fcn.004fa3a0
lea edx, [esp + 0xbc]
lea eax, [esp + 0xa4]
push edx
push eax
push ebx
call fcn.004fa3a0
fld dword [0x57f490]
add esp, 0x10
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x88]
fstp qword [esp]
push ecx
push edx
call fcn.00418f20
add esp, 0x10
test eax, eax
je 0x4f9dbd
push edi
call fcn.004fa3e0
add esp, 4
jmp 0x4f9e27
fld dword [0x57f490]
sub esp, 8
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xd0]
fstp qword [esp]
push eax
push ecx
call fcn.00418f20
add esp, 0x10
test eax, eax
je 0x4f9df0
push ebx
call fcn.004fa3e0
add esp, 4
jmp 0x4f9e27
fld dword [0x57f490]
sub esp, 8
lea edx, [esp + 0xa0]
lea eax, [esp + 0x88]
fstp qword [esp]
push edx
push eax
call fcn.00418f20
add esp, 0x10
test eax, eax
je 0x4f9e27
push edi
call fcn.004fa3e0
push ebx
call fcn.004fa3e0
add esp, 8
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x80]
push ecx
push edx
push edi
call fcn.004fa3a0
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x104]
lea ecx, [esp + 0xec]
push eax
push ecx
push edi
call fcn.004fa3a0
lea edx, [esp + 0xc8]
lea eax, [esp + 0xb0]
push edx
push eax
push ebx
call fcn.004fa3a0
fld dword [0x57f490]
add esp, 0x1c
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x88]
fstp qword [esp]
push ecx
push edx
call fcn.00418f20
add esp, 0x10
test eax, eax
jne 0x4f9eb4
push edi
call fcn.004fa3e0
lea eax, [esp + 0xfc]
lea ecx, [esp + 0xe4]
push eax
push ecx
push edi
call fcn.004fa3a0
add esp, 0x10
fld dword [0x57f490]
sub esp, 8
lea edx, [esp + 0xb8]
lea eax, [esp + 0xd0]
fstp qword [esp]
push edx
push eax
call fcn.00418f20
add esp, 0x10
test eax, eax
je 0x4fa28b
fld dword [0x57f490]
sub esp, 8
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x88]
fstp qword [esp]
push ecx
push edx
call fcn.00418f20
add esp, 0x10
test eax, eax
je 0x4fa28b
fld dword [0x57f490]
sub esp, 8
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x100]
fstp qword [esp]
push eax
push ecx
call fcn.00418f20
add esp, 0x10
test eax, eax
je 0x4fa28b
push 0xc0
push 1
call fcn.00547150
mov edi, eax
add esp, 8
cmp edi, esi
je 0x4fa29a
lea edx, [esp + 0xb0]
push edi
lea eax, [esp + 0xcc]
push edx
push eax
call fcn.00440210
add esp, 0xc
test eax, eax
je 0x4fa29a
mov edx, dword [edi]
push edi
or edx, 0x40
mov dword [edi], edx
call fcn.00441c50
lea ecx, [esp + 0x50]
push 1
push ecx
mov dword [esp + 0x5c], edi
call fcn.004bbef0
lea edx, [esp + 0x58]
push edx
call fcn.004bbe70
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x18], eax
je 0x4fa29a
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x34], edx
call fcn.004b2a10
mov edi, dword [ebp + 8]
cmp edi, 4
jne 0x4fa011
fld dword [0x57f490]
sub esp, 8
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x50]
fstp qword [esp]
push eax
push ecx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x50]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ecx
push ebx
push edx
push eax
call fcn.004fa400
add esp, 0x28
test eax, eax
jne 0x4fa28b
fld dword [0x573e5c]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x28]
push edx
mov edx, dword [esp + 0x48]
push eax
sub esp, 8
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], esi
fstp qword [esp]
push ecx
push edx
call fcn.004fd290
add esp, 0x1c
test eax, eax
jne 0x4fa29a
fld dword [0x573e5c]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
sub esp, 8
fstp qword [esp]
push eax
push ecx
call fcn.004fd290
add esp, 0x1c
test eax, eax
jne 0x4fa29a
lea edx, [esp + 0x38]
push 2
lea eax, [esp + 0x28]
push edx
push eax
call fcn.004fc9b0
add esp, 0xc
test eax, eax
je 0x4fa0ee
push esi
call fcn.004fc940
add esp, 4
test eax, eax
jne 0x4fa29a
fld dword [0x573e5c]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x28]
push edx
mov edx, dword [esp + 0x48]
push eax
sub esp, 8
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], esi
fstp qword [esp]
push ecx
push edx
call fcn.004fd290
add esp, 0x1c
test eax, eax
je 0x4fa04e
jmp 0x4fa29a
fld dword [0x573e5c]
lea eax, [esp + 0x30]
lea ecx, [esp + 0x28]
push eax
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x48]
push edx
sub esp, 8
fstp qword [esp]
push eax
push ecx
call fcn.004fd290
add esp, 0x1c
test eax, eax
jne 0x4fa29a
fld dword [0x573e5c]
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push edx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
sub esp, 8
fstp qword [esp]
push edx
push eax
call fcn.004fd290
add esp, 0x1c
test eax, eax
jne 0x4fa29a
cmp edi, 3
jne 0x4fa1fe
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 4], esi
je 0x4fa226
mov edx, dword [esp + 0x44]
cmp dword [edx + 4], esi
je 0x4fa226
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 0xc]
add ecx, 0x48
add eax, 0x48
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [edx + 4]
xor edx, ecx
and edx, 8
xor edx, ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [edx + 0x10]
add ecx, 0x48
add eax, 0x48
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [edx + 4]
xor edx, ecx
and edx, 8
xor edx, ecx
jmp 0x4fa223
cmp edi, 4
jne 0x4fa226
mov eax, dword [esp + 0x10]
mov ecx, 0xfffffff7
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 4]
and edi, ecx
mov dword [eax + 4], edi
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov edx, dword [eax + 4]
and edx, ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x20]
push eax
call fcn.004bbf30
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004bbf30
push ebx
call fcn.004bbf30
mov edx, dword [esp + 0x24]
push edx
call fcn.004bbf30
mov dword [esp + 0x28], esi
xor ebx, ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call fcn.00476950
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x44]
push 1
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
push ecx
call fcn.004f8900
add esp, 0x28
mov dword [esp + 0x64], eax
call fcn.00476960
jmp 0x4fa29a
push 1
push 0x58071c
call fcn.00547180
add esp, 8
lea edx, [esp + 0x74]
push esi
push edx
call fcn.004bbef0
lea eax, [esp + 0x60]
push esi
push eax
call fcn.004bbef0
lea ecx, [esp + 0x78]
push esi
push ecx
call fcn.004bbef0
lea edx, [esp + 0x64]
push esi
push edx
call fcn.004bbef0
lea eax, [esp + 0x94]
push eax
call fcn.004bbec0
lea ecx, [esp + 0x7c]
push ecx
call fcn.004bbec0
lea edx, [esp + 0x90]
push edx
call fcn.004bbec0
lea eax, [esp + 0x78]
push eax
call fcn.004bbec0
mov eax, dword [esp + 0x94]
add esp, 0x30
cmp eax, esi
jne 0x4fa33e
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00503190
mov edx, dword [esp + 0x30]
push edx
call fcn.005037e0
mov eax, dword [esp + 0x34]
push eax
call fcn.004fef40
mov ecx, dword [esp + 0x38]
push ecx
push 0x580070
call fcn.005024e0
mov edx, dword [esp + 0x40]
push 3
push edx
call fcn.004ac7b0
add esp, 0x1c
mov eax, dword [esp + 0x20]
push eax
call fcn.004bbf30
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004bbf30
push ebx
call fcn.004bbf30
mov edx, dword [esp + 0x24]
push edx
call fcn.004bbf30
mov eax, dword [esp + 0x38]
push eax
call fcn.004888a0
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004888a0
mov edx, dword [esp + 0x28]
push edx
call fcn.004888a0
mov eax, dword [esp + 0x30]
push eax
call fcn.004888a0
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret