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

Disassembly:
sub esp, 0x2f8
push ebx
push esi
mov esi, dword [esp + 0x308]
push edi
lea edi, [esp + 0x18]
push ebp
mov eax, dword [esi]
mov ecx, 0x13
mov dword [esp + 0x18], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [0x4f0ba4]
mov edx, dword [0x4f0ba8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], 0x4c
cmp dword [esi + 0xc], eax
jne 0x4af9d1
mov eax, dword [esi + 0x10]
push eax
call fcn.004b0770
mov dword [esp + 0x14], eax
add esp, 4
test eax, eax
jne 0x4af9c2
push 2
push 9
call fcn.0047e390
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret
mov eax, dword [esp + 0x10]
push eax
call dword [0x4f6aac]
mov edi, eax
jmp 0x4afa25
push 2
push 0x100
call fcn.00479a30
mov dword [esp + 0x18], eax
add esp, 8
test eax, eax
jne 0x4afa01
push 2
push 9
call fcn.0047e390
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret
mov eax, dword [esp + 0x10]
push eax
call dword [0x4f6aac]
mov edi, eax
mov eax, dword [esi + 0xc]
push eax
push 0x1a6c
push 0x100
push edi
call fcn.004b14d0
add esp, 0x10
mov dword [esp + 0x28], edi
test edi, edi
je 0x4afa8c
push edi
call dword [0x4f6960]
test eax, eax
jle 0x4afa8c
mov ebp, dword [esp + 0x28]
mov ecx, ebp
mov bl, byte [ebp + eax - 1]
mov ecx, ebp
cmp byte [ebp], 0
je 0x4afa8c
cmp byte [ebp], bl
jne 0x4afa71
cmp dword [0x4eb22c], 0
mov eax, 1
je 0x4afa66
push ebp
call fcn.004b1510
add esp, 4
test eax, eax
je 0x4afa71
mov byte [ebp], 0
inc ebp
jmp 0x4afa86
cmp dword [0x4eb22c], 0
jne 0x4afa7d
inc ebp
jmp 0x4afa86
push ebp
call dword [0x4f6c80]
mov ebp, eax
cmp byte [ebp], 0
jne 0x4afa4a
cmp dword [esi + 0x30], 0
je 0x4afaaf
mov ax, word [esi + 0x34]
lea ecx, [esp + 0x14]
push eax
push 0x5c0
push 4
push ecx
call fcn.004b14d0
add esp, 0x10
test eax, eax
jne 0x4afabf
lea eax, [esp + 0x14]
push 0
push edi
push eax
call fcn.004b03e0
add esp, 0xc
lea eax, [esp + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x4afaef
push eax
push 0x4f0
lea eax, [esp + 0x1c8]
push 0x40
push eax
call fcn.004b14d0
lea ecx, [esp + 0x1d0]
add esp, 0x10
jmp 0x4afaf2
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4afb13
mov eax, dword [esp + 0x314]
push eax
push ecx
lea ecx, [esp + 0x80]
push 0x40
push ecx
call fcn.00401890
add esp, 0x10
jmp 0x4afb18
mov byte [esp + 0x78], 0
lea eax, [esp + 0x78]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30c]
dec eax
cmp eax, 1
sbb eax, eax
and eax, 0xffffe802
add eax, 0x1864
mov dword [esp + 0x50], eax
call fcn.004bf340
test eax, eax
je 0x4afb60
or dword [esp + 0x50], 0x80000
mov eax, dword [esi]
test eax, eax
je 0x4afb59
add eax, 0x3e8
jmp 0x4afb5e
add eax, 0x7d0
mov dword [esi], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4afb7f
push 0x105
push eax
lea eax, [esp + 0x208]
push eax
call fcn.004b0590
add esp, 0xc
jmp 0x4afb87
mov byte [esp + 0x200], 0
mov dword [esp + 0x3c], 0x105
mov byte [esp + 0xb8], 0
lea eax, [esp + 0x200]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x20]
cmp eax, 0xa
je 0x4afbd3
test eax, eax
je 0x4afbea
lea ecx, [esp + 0xb8]
push 0x105
push ecx
push eax
push 0x1a8c
call fcn.004afe30
add esp, 0x10
cmp byte [esp + 0xb8], 0
jne 0x4afbea
lea eax, [esp + 0xb8]
push 0
push 0x105
push eax
call fcn.0046dc80
add esp, 0xc
lea eax, [esp + 0xb8]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], 0x4aff10
mov dword [esp + 0x48], eax
mov eax, dword [esi]
test eax, eax
je 0x4afc10
movzx eax, ax
mov dword [esp + 0x64], eax
jmp 0x4afc18
mov dword [esp + 0x64], 0x3e8
mov eax, dword [0x4f1fd8]
mov ebx, dword [0x4f1fdc]
lea edx, [esp + 0x68]
mov ebp, dword [0x4f1fe0]
mov ecx, 0x4f1fd8
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x1c]
mov dword [edx + 4], ebx
xor ebx, ebx
mov dword [edx + 8], ebp
mov dword [edx + 0xc], eax
mov dword [0x4f1fd8], ecx
mov eax, dword [esp + 0x5c]
mov dword [0x4f1fdc], ebx
mov dword [0x4f1fe0], eax
lea eax, [esp + 0x1c]
mov dword [0x4f1fe4], ebx
cmp dword [esp + 0x30c], 1
push eax
jne 0x4afc77
call fcn.004e4fa2
jmp 0x4afc7c
call fcn.004e4f9c
test eax, eax
jne 0x4afcc2
call fcn.004e4f96
mov edi, eax
test edi, edi
je 0x4afcba
call fcn.004bf300
test eax, eax
je 0x4afcaf
cmp edi, 0xffff
je 0x4afcba
push edi
push 0x5b
call fcn.0047e390
add esp, 8
mov edi, dword [0x4f1fdc]
jmp 0x4afcc7
push edi
push 0x5b
call fcn.0047e390
add esp, 8
mov edi, dword [0x4f1fdc]
jmp 0x4afcc7
mov edi, 1
test edi, edi
je 0x4afdda
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4afd65
cmp eax, 0xa
je 0x4afd65
mov byte [esp + 0xb8], bl
call fcn.004bf340
test eax, eax
je 0x4afd0a
lea eax, [esp + 0xb8]
push 0x105
push eax
call fcn.004dace0
add esp, 8
jmp 0x4afd43
cmp dword [0x4f1fd0], ebx
je 0x4afd43
lea eax, [esp + 0xb8]
push 0x105
push eax
mov ecx, dword [0x4f1fd0]
push ecx
call fcn.00465890
add esp, 0xc
mov ecx, dword [0x4f1fd0]
push ecx
call fcn.00465690
add esp, 4
mov dword [0x4f1fd0], ebx
cmp byte [esp + 0xb8], bl
je 0x4afd65
lea eax, [esp + 0xb8]
mov ecx, dword [esi + 0x20]
push eax
push ecx
push 0x1a8c
call fcn.004afe90
add esp, 0xc
lea ebp, [esi + 0x24]
cmp dword [0x4f1fe4], ebx
je 0x4afd82
mov eax, dword [0x4f1fe4]
mov ecx, dword [ebp]
mov dword [ecx], eax
mov dword [0x4f1fe4], ebx
jmp 0x4afd93
mov eax, dword [ebp]
mov ecx, dword [esp + 0x38]
push eax
push ecx
call fcn.00465550
add esp, 8
mov eax, dword [ebp]
mov ecx, dword [eax]
push ecx
call fcn.00465a20
add esp, 4
test eax, eax
jne 0x4afdda
push 0x45e
call fcn.00494250
add esp, 4
push eax
push 2
push 0xef
call fcn.0047e390
add esp, 0xc
mov eax, dword [ebp]
mov ecx, dword [eax]
push ecx
call fcn.00465690
add esp, 4
mov ecx, dword [ebp]
mov dword [ecx], ebx
jmp 0x4afc5b
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
lea edx, [esp + 0x68]
mov ecx, 0x4f1fd8
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 0xc]
cmp dword [esp + 0x10], 0
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x18]
mov dword [esi], ecx
je 0x4afe15
mov eax, dword [esp + 0x10]
push eax
call fcn.00479b40
add esp, 4
mov eax, edi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret