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

Disassembly:
mov ecx, dword [0x95eda0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4aa6d0
sub esp, 0x58
mov eax, 0
mov dword [esp + 0x54], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
test byte [ecx], al
add ecx, 0x134
mov dword [esp], ecx
call fcn.00476060
mov eax, dword [esp + 4]
test eax, eax
jne 0x4a9e49
lea eax, [0x6d70a0]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a9be0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
test byte [ecx], al
add ecx, 0x134
mov dword [esp], ecx
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], ecx
call fcn.00465e60
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4a9e45
nop
mov eax, dword [esp + 0x44]
mov dword [eax + 0x10], 0
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4a9d6c
lea eax, [0x934220]
mov dword [esp], eax
lea edx, [0x697620]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0047bc60
mov eax, dword [0x95f020]
test eax, eax
jne 0x4a9e2b
mov eax, dword [esp + 0x44]
jmp 0x4a9e39
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
call fcn.004717c0
mov dword [edi], ecx
mov dword [eax + 8], 0
jmp 0x4a9d6c
mov eax, dword [esp + 0x44]
mov dword [esp + 0x44], eax
test byte [eax], al
mov dword [esp], eax
call fcn.0047b5e0
lea eax, [0x4aa6e0]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x54], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x4a9ec7
lea eax, [0x934220]
mov dword [esp], eax
call fcn.0047bcf0
mov eax, dword [esp + 4]
lea ecx, [0x697620]
cmp eax, ecx
jne 0x4aa6b0
mov ebx, dword [0x95f020]
mov ebp, dword [esp + 8]
test ebx, ebx
jne 0x4a9eb1
mov ebx, dword [esp + 0x44]
jmp 0x4a9ec2
call fcn.004717d0
mov dword [edi], ebp
mov ebx, dword [esp + 0x44]
mov esi, dword [ebx + 8]
mov dword [edi + 4], esi
mov dword [ebx + 8], ebp
mov eax, ebx
mov ebx, dword [esp + 0x60]
test ebx, ebx
jg 0x4a9ed6
mov ecx, 0xffffffff
jmp 0x4a9ed8
mov ecx, ebx
test ecx, ecx
je 0x4aa197
mov ebp, dword [eax + 0xc]
test ebp, ebp
jne 0x4a9f6b
mov edx, dword [eax + 8]
mov ebp, dword [edx + 4]
test ebp, ebp
jbe 0x4aa6a7
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x5c]
mov ebx, dword [ecx]
mov ebx, dword [ebx + 0x10]
mov esi, dword [eax + 0x18]
mov edx, dword [edx]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call fcn.004a43c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x4a9f72
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0x18]
cmp ebp, 0xb
jne 0x4a9f55
mov dword [ebx + 0x18], 0xa
jmp 0x4a9f61
cmp ebp, 0xf
jne 0x4a9f61
mov dword [ebx + 0x18], 0xe
mov eax, ebx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
xor edx, edx
jmp 0x4aa25e
lea ecx, [0x762dc4]
cmp eax, ecx
jne 0x4a9fac
mov ecx, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x760978]
mov dword [esp + 8], eax
call fcn.00404850
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4aa141
lea ecx, [0x762dc4]
mov eax, dword [esp + 0x8c]
cmp eax, ecx
je 0x4a9fbb
xor eax, eax
jmp 0x4a9fe3
mov ecx, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x760980]
mov dword [esp + 8], eax
call fcn.00404850
movzx eax, byte [esp + 0xc]
lea ecx, [0x762dc4]
test al, al
je 0x4aa00e
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x18]
cmp eax, 0xb
jne 0x4a9ffe
mov eax, dword [esp + 0x60]
test eax, eax
jmp 0x4aa199
cmp eax, 0xf
jne 0x4aa00e
mov eax, dword [esp + 0x60]
test eax, eax
jmp 0x4aa199
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.004ae560
mov eax, dword [esp + 4]
test eax, eax
je 0x4aa03b
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0xc]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
test al, al
je 0x4aa0c0
lea eax, [0x6c6280]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x7039bc]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x130]
mov ecx, dword [ecx + 0x12c]
mov dword [eax + 0xc], edx
mov edx, dword [0x95f020]
test edx, edx
je 0x4aa082
call fcn.004717c0
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x90]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x95f020]
test ecx, ecx
je 0x4aa0a7
call fcn.004717c0
mov dword [edi], ebx
mov dword [eax + 0x14], ebx
lea ecx, [0x762db4]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
jmp 0x4aa130
lea eax, [0x6c6280]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 7
lea ecx, [0x6f7bda]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x130]
mov ecx, dword [ecx + 0x12c]
mov dword [eax + 0xc], edx
mov edx, dword [0x95f020]
test edx, edx
je 0x4aa107
call fcn.004717c0
mov dword [edi], ecx
mov dword [eax + 8], ecx
lea ecx, [0x762dc4]
mov dword [eax + 0x10], ecx
lea ecx, [0x7609a8]
mov dword [eax + 0x14], ecx
lea ecx, [0x762db4]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
call eax
add esp, 0x58
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
lea edx, [0x934220]
mov dword [esp], edx
lea edx, [0x697620]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0047bc60
mov eax, dword [0x95f020]
test eax, eax
jne 0x4aa17a
mov eax, dword [esp + 0x60]
test eax, eax
mov eax, dword [esp + 0x44]
jmp 0x4aa18e
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
call fcn.004717c0
mov dword [edi], ecx
mov ecx, dword [esp + 0x60]
test ecx, ecx
mov dword [eax + 8], 0
jmp 0x4aa199
test ebx, ebx
jle 0x4aa1ae
mov eax, dword [esp + 0x6c]
add eax, dword [esp + 0x78]
add eax, dword [esp + 0x84]
test eax, eax
je 0x4aa1d5
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
call eax
add esp, 0x58
ret
mov eax, dword [0x9328d0]
mov ecx, dword [0x9328d4]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
call eax
add esp, 0x58
ret
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov eax, esi
mov ebx, edx
mov edx, ebp
test ecx, ecx
je 0x4a9ed8
test dl, dl
jne 0x4a9ed8
mov edx, dword [eax + 8]
mov ebp, dword [edx + 4]
mov esi, dword [eax + 0xc]
cmp ebp, esi
jbe 0x4aa69e
mov edx, dword [edx]
mov dword [esp + 0x48], edx
cmp dword [eax + 0x18], 0xa
jne 0x4aa2c7
mov ebp, dword [edx + esi + 0x3c]
shr ebp, 1
mov edi, dword [edx + esi]
lea edx, [edx + esi + 0x68]
test ebp, ebp
jl 0x4aa699
mov dword [esp + 0x38], edx
mov eax, 2
mul ebp
jo 0x4aa694
mov edx, ebx
mov ebx, dword [esp + 0x38]
neg ebx
cmp eax, ebx
ja 0x4aa694
mov eax, dword [esp + 0x38]
jmp 0x4aa301
mov ebp, dword [edx + esi + 0x3c]
shr ebp, 1
mov edi, dword [edx + esi]
lea edx, [edx + esi + 0x44]
test ebp, ebp
jl 0x4aa68f
mov dword [esp + 0x38], edx
mov eax, 2
mul ebp
jo 0x4aa68a
mov edx, ebx
mov ebx, dword [esp + 0x38]
neg ebx
cmp eax, ebx
ja 0x4aa68a
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], esi
lea ebx, [edi + esi]
mov esi, dword [esp + 0x44]
mov dword [esi + 0xc], ebx
test edi, edi
jne 0x4aa31a
mov dword [esi + 0xc], 0
cmp ebp, 1
jne 0x4aa32c
cmp word [eax], 0x2e
jne 0x4aa32c
test edi, edi
jmp 0x4aa251
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edi
cmp ebp, 2
jne 0x4aa34d
cmp word [eax], 0x2e
jne 0x4aa34d
cmp word [eax + 2], 0x2e
jne 0x4aa34d
test edi, edi
jmp 0x4aa251
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00486490
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x4aa403
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
inc ebp
mov esi, dword [esp + 0x68]
cmp ebx, ebp
jae 0x4aa3cc
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6a7120]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x6c], ebp
lea ebx, [esi + ebp*8 - 4]
mov dword [ebx], ecx
mov ebx, dword [0x95f020]
lea ebp, [esi + ebp*8 - 8]
test ebx, ebx
je 0x4aa3f1
call fcn.004717d0
mov dword [edi], eax
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
mov dword [ebp], eax
mov ecx, dword [esp + 0x44]
lea ebx, [0x763fc8]
jmp 0x4aa672
mov ebx, dword [esp + 0x44]
cmp dword [ebx + 0x18], 0xa
jne 0x4aa484
lea eax, [0x6e2b40]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov ebx, dword [edx + ecx + 0x38]
mov dword [eax + 8], ebx
mov ebx, dword [edx + ecx + 8]
mov ebp, dword [edx + ecx + 0xc]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebp
mov ebx, dword [edx + ecx + 0x10]
mov ebp, dword [edx + ecx + 0x14]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebp
mov ebx, dword [edx + ecx + 0x18]
mov ebp, dword [edx + ecx + 0x1c]
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebp
mov ebx, dword [edx + ecx + 0x2c]
mov dword [eax + 0x24], ebx
mov ebx, dword [edx + ecx + 0x28]
mov dword [eax + 0x28], ebx
mov ebx, dword [edx + ecx + 0x40]
mov dword [eax + 0x2c], ebx
mov ebx, dword [edx + ecx + 0x64]
mov dword [eax + 0x48], ebx
mov ecx, dword [edx + ecx + 0x60]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x44]
jmp 0x4aa511
nop
lea eax, [0x6e2b40]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov ebx, dword [edx + ecx + 0x38]
mov dword [eax + 8], ebx
mov ebx, dword [edx + ecx + 8]
mov ebp, dword [edx + ecx + 0xc]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebp
mov ebx, dword [edx + ecx + 0x10]
mov ebp, dword [edx + ecx + 0x14]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebp
mov ebx, dword [edx + ecx + 0x18]
mov ebp, dword [edx + ecx + 0x1c]
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebp
mov ebx, dword [edx + ecx + 0x2c]
mov dword [eax + 0x24], ebx
mov ebx, dword [edx + ecx + 0x28]
mov dword [eax + 0x28], ebx
mov ecx, dword [edx + ecx + 0x40]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x4aa511
mov byte [eax + 0x50], 1
mov ebx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x1c]
mov dword [eax + 0x40], ebx
mov ebx, dword [0x95f020]
test ebx, ebx
je 0x4aa50e
call fcn.004717c0
mov dword [edi], ebp
mov dword [eax + 0x3c], ebp
mov ebx, dword [esp + 0x28]
mov dword [eax + 4], ebx
mov ebx, dword [0x95f020]
test ebx, ebx
jne 0x4aa528
mov ebx, dword [esp + 0x3c]
jmp 0x4aa538
call fcn.004717d0
mov ebx, dword [esp + 0x3c]
mov dword [edi], ebx
mov ebp, dword [eax]
mov dword [edi + 4], ebp
mov dword [esp + 0x40], eax
mov dword [eax], ebx
mov ebx, dword [ecx + 0x14]
mov dword [eax + 0x44], ebx
mov ebx, dword [esp + 0x64]
cmp ebx, 1
jne 0x4aa5d8
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
inc esi
mov edi, dword [esp + 0x74]
cmp ebp, esi
jae 0x4aa5a4
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6c14e0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x78], esi
lea ebp, [edi + esi*8 - 8]
mov edx, ebx
lea ebx, [0x763fc8]
mov dword [ebp], ebx
mov ebp, dword [0x95f020]
lea esi, [edi + esi*8 - 4]
test ebp, ebp
je 0x4aa5d1
call fcn.004717d0
mov dword [edi], eax
mov ebp, dword [esi]
mov dword [edi + 4], ebp
mov dword [esi], eax
jmp 0x4aa672
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
inc esi
mov edi, dword [esp + 0x80]
cmp ebp, esi
jae 0x4aa63a
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6cc5c0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x84], esi
lea ebp, [edi + esi*8 - 8]
mov edx, ebx
lea ebx, [0x7642d8]
mov dword [ebp], ebx
mov ebp, dword [0x95f020]
lea esi, [edi + esi*8 - 4]
test ebp, ebp
je 0x4aa66a
call fcn.004717d0
mov dword [edi], eax
mov ebp, dword [esi]
mov dword [edi + 4], ebp
mov dword [esi], eax
lea ebx, [0x763fc8]
mov ebp, dword [esp + 0x2c]
dec ebp
mov esi, dword [esp + 0x24]
test esi, esi
mov edx, dword [esp + 0x60]
mov esi, ecx
mov ecx, ebp
jmp 0x4aa251
call fcn.00462430
call fcn.00462430
call fcn.00462430
call fcn.00462430
mov eax, esi
mov ecx, ebp
call fcn.00471840
xor eax, eax
mov ecx, eax
call fcn.00471840
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6a8ba0]
mov dword [esp + 8], eax
call fcn.0040a040
nop
call fcn.00435c40
add esp, 0x58
ret
call fcn.004703c0
jmp fcn.004a9ce0