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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x4afb65
sub esp, 0xa8
mov eax, dword [esp + 0xac]
cmp byte [eax + 0x49], 0xff
je 0x4afae8
lea eax, [0x59e6a0]
mov dword [esp], eax
call fcn.00463de0
mov eax, dword [esp + 8]
lea ecx, [0x4c2e00]
cmp dword [esp + 4], ecx
jne 0x4afade
jne 0x4afac7
mov dword [esp + 0x74], eax
mov edx, dword [eax + 0x2c]
mov ecx, dword [esp + 0xd0]
cmp edx, ecx
jl 0x4afa78
cmp ecx, edx
ja 0x4afb5f
mov dword [eax + 0x28], ecx
mov edx, dword [eax + 0x28]
xor ecx, ecx
jmp 0x4af2ea
mov dword [ebp + ecx*4], 0xffffffff
inc ecx
cmp ecx, edx
jge 0x4af2fd
mov ebx, dword [eax + 0x28]
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jb 0x4af2e1
jmp 0x4afb56
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x4af9f0
nop
mov dword [eax + 0x14], ecx
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4af9d8
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
mov dword [eax + 0x20], 0
lea ecx, [eax + 0x14]
lea edx, [0x504000]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x40], edx
mov eax, dword [edx + 0x20]
mov dword [esp], ecx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
cmp eax, 0xffffffff
jne 0x4af9a4
mov edx, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], edx
mov ebp, dword [esp + 0xcc]
test ebp, ebp
jne 0x4af96c
nop
mov esi, eax
mov edi, 0xffffffff
mov edx, dword [esp + 0xac]
mov ebx, dword [edx + 0xc]
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, ebp
jae 0x4afb4d
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edi
lea ebp, [edx + edx*8]
lea ebx, [ebx + ebp*4]
mov ebp, edi
lea edi, [esp + 0x84]
mov esi, ebx
call fcn.004541f6
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x4af938
xor ebx, ebx
test bl, bl
je 0x4af92a
mov ebx, dword [esp + 0xac]
mov esi, ebx
mov ebx, dword [ebx + 0x28]
test ebx, ebx
jg 0x4af8f6
xor ebx, ebx
test bl, bl
jne 0x4af821
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x6c]
jmp 0x4af451
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x5c], eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x24], ebx
mov ebx, dword [esi + 0xc]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, ebp
jae 0x4afb44
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x28], edi
lea edx, [edx + edx*8]
lea edx, [ebx + edx*4]
mov ebx, edi
lea edi, [esp + 0x84]
mov ebp, esi
mov esi, edx
call fcn.004541f6
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x58], ecx
movzx edx, byte [esp + 0x84]
cmp dl, 5
ja 0x4af6fa
mov dword [esp + 0x54], eax
cmp dl, 2
ja 0x4af54c
cmp dl, 1
jbe 0x4af506
mov edx, dword [esp + 0x8c]
mov esi, ebp
mov ebp, dword [esp + 0x74]
mov edi, ebx
mov ebx, dword [ebp + 0x28]
mov ebp, dword [ebp + 0x24]
cmp edx, ebx
jge 0x4af4fd
jae 0x4afb10
mov ebx, dword [esp + 0xcc]
mov dword [ebp + edx*4], ebx
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x48]
jmp 0x4af42f
mov ebx, dword [esp + 0xcc]
jmp 0x4af4e4
lea eax, [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.004b0190
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xac]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0xcc]
jmp 0x4af42f
cmp dl, 3
jne 0x4af6b7
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x8c]
mov byte [esp + 8], dl
call fcn.004ae0c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4af5a8
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0xcc]
jmp 0x4af42f
xor eax, eax
test al, al
je 0x4af683
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xd8]
lea ebx, [edx + ecx]
mov dword [esp + 0x50], ebx
mov ebp, dword [eax + 0x24]
mov esi, dword [esp + 0xdc]
cmp ebx, esi
ja 0x4af63a
mov edi, dword [esp + 0xd4]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x80], edi
lea eax, [edi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.00454440
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004af180
mov eax, dword [esp + 0x80]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe8], eax
add esp, 0xa8
ret
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x4c], ecx
lea eax, [0x4cba20]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043e480
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x7c]
jmp 0x4af5dc
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004af180
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
add esp, 0xa8
ret
cmp dl, 4
jne 0x4af6f3
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x24]
mov ebp, dword [edx + 0x28]
test ebp, ebp
jle 0x4af6e9
mov dword [ebx], 0
mov ebx, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
cmp ecx, 1
jbe 0x4afb22
mov eax, dword [esp + 0xcc]
mov dword [ebx + 4], eax
mov eax, 1
jmp 0x4af5aa
xor eax, eax
jmp 0x4af5aa
cmp dl, 7
ja 0x4af7cd
cmp dl, 6
jne 0x4af72c
mov esi, ebp
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x24]
mov edi, ebx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0xcc]
mov edx, dword [esp + 0x48]
jmp 0x4af42f
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004a5830
cmp dword [esp + 8], 0xffffffff
je 0x4af7c6
mov edx, dword [esp + 0x24]
test edx, edx
je 0x4af7bf
mov ebx, dword [esp + 0xcc]
add edx, ebx
mov ebx, dword [esp + 0x28]
cmp ebx, 0xffffffff
jne 0x4af78e
mov eax, ebx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0xac]
mov ebp, dword [esp + 0x20]
mov edi, ebx
mov dword [esp + 0x38], eax
mov ebx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x34]
jmp 0x4af42f
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x20]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebp, dword [esp + 0x20]
lea esi, [edx + ebp]
mov dword [esp + 4], esi
call ecx
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
jmp 0x4af76a
xor eax, eax
jmp 0x4af5aa
xor eax, eax
jmp 0x4af5aa
cmp dl, 8
jne 0x4af7fb
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
test ebp, ebp
jbe 0x4afb19
mov ebp, dword [esp + 0x34]
cmp dword [edx], ebp
je 0x4af74a
xor eax, eax
jmp 0x4af5aa
cmp dl, 9
je 0x4af74a
cmp dl, 0xa
jne 0x4afb2c
mov edx, dword [esp + 0x34]
cmp edx, 0xa
jne 0x4af74a
xor eax, eax
jmp 0x4af5aa
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], esi
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x4af8ef
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov esi, dword [esp + 0xcc]
add ecx, esi
mov dword [esp + 0xcc], ecx
mov dword [esp + 4], ecx
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov esi, dword [esp + 0xcc]
lea edi, [esi + ecx]
mov dword [esp + 4], edi
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov esi, dword [esp + 0xcc]
mov dword [esp + 4], esi
call ebx
mov eax, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0xac]
mov edx, dword [esi + 0x3c]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
jmp 0x4af41d
xor eax, eax
jmp 0x4af5aa
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call ecx
movzx ebx, byte [esp + 4]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0xac]
jmp 0x4af401
mov esi, dword [esp + 0xac]
xor ebx, ebx
jmp 0x4af401
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x8c]
mov byte [esp + 8], cl
call fcn.004ae0c0
movzx ebx, byte [esp + 0xc]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x48]
jmp 0x4af3e3
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], ebp
call ecx
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x2c]
jmp 0x4af396
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0x20]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebp, dword [esp + 0xcc]
lea esi, [ebp + ecx]
mov dword [esp + 4], esi
call edx
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
jmp 0x4af377
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.00453b50
mov eax, ecx
jmp 0x4af328
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x4afa36
nop
mov edx, dword [esp + 0xbc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [eax + 8], edx
mov edx, dword [0x5af4d0]
test edx, edx
jne 0x4afa29
mov dword [eax], ecx
mov ecx, eax
lea edx, [0x503fc0]
jmp 0x4af33c
mov edi, eax
mov eax, ecx
call fcn.00453b50
mov eax, edi
jmp 0x4afa1c
nop
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4afa63
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
lea ecx, [eax + 0xc]
lea edx, [0x504040]
jmp 0x4af33c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00453b50
mov eax, ecx
jmp 0x4afa55
lea eax, [0x4cba20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0043e3c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xd0]
mov edi, dword [esp + 0x74]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4afab7
mov dword [edi + 0x24], eax
mov eax, edi
jmp 0x4af2da
lea edx, [edi + 0x24]
mov ecx, edi
mov edi, edx
call fcn.00453b50
mov edi, ecx
jmp 0x4afab0
lea eax, [0x4d1760]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
jmp 0x4af2b9
mov eax, 0
jmp 0x4af2b3
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
add esp, 0xa8
ret
mov eax, edx
mov ecx, ebx
call fcn.00453be0
xor eax, eax
mov ecx, ebp
call fcn.00453bd0
mov eax, 1
call fcn.00453bd0
lea eax, [0x4cc260]
mov dword [esp], eax
lea eax, [0x5028c8]
mov dword [esp + 4], eax
call fcn.0042d320
mov eax, edx
mov ecx, ebp
call fcn.00453bd0
mov eax, edx
mov ecx, ebp
call fcn.00453bd0
mov eax, ecx
mov ecx, ebx
call fcn.00453bd0
call fcn.00453c10
nop
call fcn.00452310
jmp fcn.004af260