Function at 0x4aee30
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 0x4af735
sub esp, 0xa8
mov eax, dword [esp + 0xac]
cmp byte [eax + 0x49], 0xff
je 0x4af6b8
lea eax, [0x59a6c0]
mov dword [esp], eax
call fcn.00463de0
mov eax, dword [esp + 8]
lea ecx, [0x4c0de0]
cmp dword [esp + 4], ecx
jne 0x4af6ae
jne 0x4af697
mov dword [esp + 0x74], eax
mov edx, dword [eax + 0x2c]
mov ecx, dword [esp + 0xd0]
cmp edx, ecx
jl 0x4af648
cmp ecx, edx
ja 0x4af72f
mov dword [eax + 0x28], ecx
mov edx, dword [eax + 0x28]
xor ecx, ecx
jmp 0x4aeeba
mov dword [ebp + ecx*4], 0xffffffff
inc ecx
cmp ecx, edx
jge 0x4aeecd
mov ebx, dword [eax + 0x28]
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jb 0x4aeeb1
jmp 0x4af726
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x4af5c0
nop
mov dword [eax + 0x14], ecx
mov ecx, dword [0x5ab4f0]
test ecx, ecx
jne 0x4af5a8
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, [0x501b20]
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 0x4af574
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 0x4af53c
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 0x4af71d
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 0x4af508
xor ebx, ebx
test bl, bl
je 0x4af4fa
mov ebx, dword [esp + 0xac]
mov esi, ebx
mov ebx, dword [ebx + 0x28]
test ebx, ebx
jg 0x4af4c6
xor ebx, ebx
test bl, bl
jne 0x4af3f1
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 0x4af021
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 0x4af714
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 0x4af2ca
mov dword [esp + 0x54], eax
cmp dl, 2
ja 0x4af11c
cmp dl, 1
jbe 0x4af0d6
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 0x4af0cd
jae 0x4af6e0
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 0x4aefff
mov ebx, dword [esp + 0xcc]
jmp 0x4af0b4
lea eax, [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.004afd60
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 0x4aefff
cmp dl, 3
jne 0x4af287
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.004adc90
movzx eax, byte [esp + 0xc]
test al, al
je 0x4af178
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 0x4aefff
xor eax, eax
test al, al
je 0x4af253
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 0x4af20a
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.004aed50
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, [0x4c99c0]
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 0x4af1ac
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004aed50
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
add esp, 0xa8
ret
cmp dl, 4
jne 0x4af2c3
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x24]
mov ebp, dword [edx + 0x28]
test ebp, ebp
jle 0x4af2b9
mov dword [ebx], 0
mov ebx, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
cmp ecx, 1
jbe 0x4af6f2
mov eax, dword [esp + 0xcc]
mov dword [ebx + 4], eax
mov eax, 1
jmp 0x4af17a
xor eax, eax
jmp 0x4af17a
cmp dl, 7
ja 0x4af39d
cmp dl, 6
jne 0x4af2fc
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 0x4aefff
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004a6490
cmp dword [esp + 8], 0xffffffff
je 0x4af396
mov edx, dword [esp + 0x24]
test edx, edx
je 0x4af38f
mov ebx, dword [esp + 0xcc]
add edx, ebx
mov ebx, dword [esp + 0x28]
cmp ebx, 0xffffffff
jne 0x4af35e
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 0x4aefff
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 0x4af33a
xor eax, eax
jmp 0x4af17a
xor eax, eax
jmp 0x4af17a
cmp dl, 8
jne 0x4af3cb
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
test ebp, ebp
jbe 0x4af6e9
mov ebp, dword [esp + 0x34]
cmp dword [edx], ebp
je 0x4af31a
xor eax, eax
jmp 0x4af17a
cmp dl, 9
je 0x4af31a
cmp dl, 0xa
jne 0x4af6fc
mov edx, dword [esp + 0x34]
cmp edx, 0xa
jne 0x4af31a
xor eax, eax
jmp 0x4af17a
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 0x4af4bf
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 0x4aefed
xor eax, eax
jmp 0x4af17a
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 0x4aefd1
mov esi, dword [esp + 0xac]
xor ebx, ebx
jmp 0x4aefd1
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x8c]
mov byte [esp + 8], cl
call fcn.004adc90
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 0x4aefb3
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 0x4aef66
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 0x4aef47
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.00453b50
mov eax, ecx
jmp 0x4aeef8
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x4af606
nop
mov edx, dword [esp + 0xbc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [eax + 8], edx
mov edx, dword [0x5ab4f0]
test edx, edx
jne 0x4af5f9
mov dword [eax], ecx
mov ecx, eax
lea edx, [0x501ae0]
jmp 0x4aef0c
mov edi, eax
mov eax, ecx
call fcn.00453b50
mov eax, edi
jmp 0x4af5ec
nop
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x5ab4f0]
test ecx, ecx
jne 0x4af633
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
lea ecx, [eax + 0xc]
lea edx, [0x501b60]
jmp 0x4aef0c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00453b50
mov eax, ecx
jmp 0x4af625
lea eax, [0x4c99c0]
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 [0x5ab4f0]
test ecx, ecx
jne 0x4af687
mov dword [edi + 0x24], eax
mov eax, edi
jmp 0x4aeeaa
lea edx, [edi + 0x24]
mov ecx, edi
mov edi, edx
call fcn.00453b50
mov edi, ecx
jmp 0x4af680
lea eax, [0x4cf700]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
jmp 0x4aee89
mov eax, 0
jmp 0x4aee83
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, [0x4ca200]
mov dword [esp], eax
lea eax, [0x500418]
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.004aee30