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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x63fa8a
sub esp, 0x138
mov eax, 0
mov dword [esp + 0x134], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov eax, dword [esp + 0x13c]
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x88], edx
mov ebx, dword [eax + 4]
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0x140]
mov dword [esp], ebp
call fcn.0063e090
mov eax, dword [esp + 4]
test eax, eax
jne 0x63f2bf
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je 0x63fa65
mov dword [esp + 0x130], ecx
mov eax, dword [esp + 0x13c]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x12c], ecx
mov edx, dword [esp + 0x68]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
lea edi, [esp + 0xf8]
xor eax, eax
call fcn.0046cb2a
mov ecx, dword [esp + 0x130]
mov dword [esp + 0xf8], ecx
lea ecx, [esp + 0x22]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0xf8]
mov dword [esp], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 2
mov byte [esp + 0x14], 1
call fcn.0044d240
mov eax, dword [esp + 0x18]
test eax, eax
je 0x63efde
cmp eax, 1
jne 0x63efbd
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
add esp, 0x138
ret
mov eax, dword [0x9647c8]
mov ecx, dword [0x9647cc]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
add esp, 0x138
ret
mov eax, dword [esp + 0x7c]
lea ecx, [eax + 0x30]
mov dword [esp + 0x124], ecx
mov dword [esp], ecx
call fcn.00489310
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x63f01a
mov edx, dword [ecx + 0x18]
nop
test edx, edx
je 0x63fa4d
lea eax, [ecx + 4]
mov dword [esp], eax
call fcn.0046ace0
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x64]
nop
test ecx, ecx
jle 0x63f026
dec ecx
mov dword [eax + 0x64], ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
call fcn.006402f0
mov eax, dword [esp + 8]
test eax, eax
jne 0x63f267
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0xb4]
mov edx, dword [esp + 0x13c]
mov ebx, dword [edx + 0x94]
lea ebp, [ebx + ecx]
nop
nop
cmp ecx, ebp
setl cl
test ebx, ebx
setg bl
cmp bl, cl
jne 0x63f075
mov dword [edx + 0x94], ebp
mov ecx, dword [0x9aef70]
lea ebx, [eax + 0x3c]
test ecx, ecx
je 0x63f092
call fcn.0046c8a0
mov dword [edi], ebx
mov ecx, dword [edx + 0x98]
mov dword [edi + 4], ecx
mov dword [edx + 0x98], ebx
nop
mov dword [edx + 0x9c], 0x400000
mov ecx, dword [eax + 0x68]
mov dword [edx + 0x14], ecx
add dword [eax + 0x68], 2
mov ecx, dword [eax + 0x60]
mov ebx, dword [edx + 0x14]
lea ebp, [0x694f80]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0040fe80
mov eax, dword [esp + 0xc]
test byte [eax], al
mov ecx, dword [0x9aef70]
test ecx, ecx
jne 0x63f0e2
mov ecx, dword [esp + 0x13c]
jmp 0x63f0f5
call fcn.0046c8a0
mov ecx, dword [esp + 0x13c]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x63fa35
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.00648160
movzx eax, byte [esp + 4]
test al, al
je 0x63f122
mov eax, dword [esp + 0x7c]
mov byte [eax + 0x4c], 1
mov eax, dword [esp + 0x124]
mov dword [esp], eax
call fcn.00489690
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
movzx edx, byte [ecx + 0x14]
test dl, dl
je 0x63f143
xor ecx, ecx
jmp 0x63f1bd
mov ecx, dword [ecx + 0x48]
test ecx, ecx
je 0x63f156
movzx ecx, byte [ecx + 0x6d]
test cl, cl
je 0x63f156
xor ecx, ecx
jmp 0x63f1bd
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [0x6d339d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xf
call fcn.0060d730
mov eax, dword [esp + 0x10]
test eax, eax
je 0x63f18a
mov eax, dword [esp + 0x7c]
xor ecx, ecx
jmp 0x63f1bd
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [0x6d0228]
mov dword [esp + 4], ecx
mov dword [esp + 8], 5
call fcn.0060d730
mov eax, dword [esp + 0x10]
test eax, eax
sete al
mov ecx, eax
mov eax, dword [esp + 0x7c]
test cl, cl
je 0x63f1d6
mov ecx, dword [esp + 0x13c]
movzx edx, byte [ecx + 0x65]
test dl, dl
jne 0x63f1dd
mov byte [ecx + 0x64], 1
jmp 0x63f1dd
mov ecx, dword [esp + 0x13c]
mov edx, dword [eax]
mov edx, dword [edx + 0x48]
test edx, edx
je 0x63f1f4
mov ebx, dword [edx + 0x8c]
mov edx, dword [edx + 0x90]
jmp 0x63f1f8
xor edx, edx
xor ebx, ebx
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x63f388
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x1c]
lea edx, [0x6c2220]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x6d0600]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 6
call fcn.004116c0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
xor edx, edx
jmp 0x63f2ea
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x124]
mov dword [esp], ecx
call fcn.00489690
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004066e0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x148], eax
add esp, 0x138
ret
mov ecx, dword [esp + 8]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
add esp, 0x138
ret
mov ebx, dword [esp + 0x78]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x90]
cmp edx, eax
jge 0x63f379
mov dword [esp + 0x78], edx
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ebx
mov dword [esp + 4], eax
lea eax, [0x6d202a]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call fcn.00622970
movzx eax, byte [esp + 0x10]
test al, al
je 0x63f2d8
lea eax, [0x68c6c0]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00405a60
mov eax, dword [0x9aef70]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x63f352
mov eax, dword [esp + 0x13c]
jmp 0x63f369
call fcn.0046c8a0
mov dword [edi], ecx
mov eax, dword [esp + 0x13c]
mov edx, dword [eax + 0x88]
mov dword [edi + 4], edx
mov dword [eax + 0x88], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
jmp 0x63f37d
xor eax, eax
xor ecx, ecx
mov edx, eax
mov ebx, ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], edx
mov dword [esp], ecx
mov eax, dword [esp + 0x140]
mov dword [esp + 4], eax
call fcn.0063fb00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0xb8]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.004066e0
mov eax, dword [esp + 0x144]
test eax, eax
jne 0x63f7c6
mov eax, dword [esp + 0x13c]
mov ecx, dword [eax + 0xbc]
mov ebx, dword [eax + 0xc0]
test ebx, ebx
setne bl
test ecx, ecx
setne cl
or ebx, ecx
test bl, bl
je 0x63f6e8
mov ecx, dword [esp + 0x6c]
test ecx, ecx
setne bl
mov ebp, dword [esp + 0x70]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x63f646
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x63f445
mov edx, dword [ebx + 0x38]
test edx, edx
je 0x63f445
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.004b0280
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
mov ecx, dword [eax]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x13c]
mov ebx, dword [edx + 0x88]
mov dword [esp + 0x11c], ebx
mov ebp, dword [edx + 0x74]
mov dword [esp + 0x118], ebp
mov esi, dword [esp + 0x68]
mov edi, dword [esi + 0x14]
mov esi, dword [esp + 0x88]
mov dword [esp], esi
call edi
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x13c]
mov edx, dword [ecx + 0xc]
lea edi, [esp + 0xd0]
mov ebx, eax
xor eax, eax
call fcn.0046cb26
mov ecx, dword [esp + 0x120]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0xd0]
mov dword [esp], ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov byte [esp + 0x14], 1
call fcn.0044d240
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x63f54e
mov eax, dword [0x9647c8]
mov ecx, dword [0x9647cc]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
mov eax, dword [esp + 0x13c]
jmp 0x63f5e8
cmp eax, 1
je 0x63f5b8
cmp eax, 2
jne 0x63f575
mov eax, dword [esp + 0x13c]
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], edx
jmp 0x63f5e8
cmp eax, 3
jne 0x63f599
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov eax, dword [esp + 0x13c]
jmp 0x63f5e8
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov eax, dword [esp + 0x13c]
jmp 0x63f5e8
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x88]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 0x18]
nop
test edx, edx
je 0x63fa1d
lea eax, [ecx + 4]
mov dword [esp], eax
call fcn.0046ace0
mov eax, dword [esp + 0x144]
test eax, eax
je 0x63f63f
mov ecx, dword [esp + 0x13c]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x63f638
mov edx, dword [ecx + 0x3c]
test edx, edx
je 0x63f638
mov ecx, dword [esp + 0x148]
mov ebx, dword [edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
call ebx
add esp, 0x138
ret
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov ecx, dword [esp + 0x140]
mov dword [esp + 4], ecx
call fcn.00640630
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
test eax, eax
je 0x63f6d8
cmp dword [0x9647d0], eax
jne 0x63f6a3
mov edx, dword [0x9647d4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00404cd0
movzx eax, byte [esp + 0xc]
test al, al
je 0x63f6a3
mov eax, dword [esp + 0x13c]
jmp 0x63f6ef
mov eax, dword [esp + 0x13c]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x63f6d1
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x63f6d1
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov ebx, dword [edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
call ebx
add esp, 0x138
ret
mov eax, dword [esp + 0x13c]
mov byte [eax + 0xc8], 1
jmp 0x63f6ef
mov byte [eax + 0xc8], 1
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x63f71d
mov edx, dword [ecx + 0x3c]
test edx, edx
je 0x63f71d
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov ebx, dword [edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
call ebx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x48]
test ecx, ecx
je 0x63f738
mov edx, dword [ecx + 0x84]
mov ecx, dword [ecx + 0x88]
jmp 0x63f73c
xor ecx, ecx
xor edx, edx
test ecx, ecx
setne bl
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebx, ebp
mov byte [esp + 0x22], bl
test bl, bl
jne 0x63f75a
xor ecx, ecx
xor edx, edx
jmp 0x63f7d8
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004b0280
mov eax, dword [esp + 8]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
lea ecx, [0x63faa0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
lea ecx, [esp + 0xc8]
mov dword [esp + 0x134], ecx
mov byte [esp + 0x23], 1
mov eax, dword [eax]
mov ecx, dword [esp + 0x13c]
mov edx, dword [ecx + 0x8c]
movzx ebx, byte [esp + 0x22]
mov ecx, eax
mov eax, dword [esp + 0x13c]
jmp 0x63f7d8
add esp, 0x138
ret
mov eax, dword [esp + 0x13c]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x80], ecx
mov ebx, dword [eax + 0x80]
mov dword [esp + 0x114], ebx
mov ebp, dword [eax + 0x74]
mov dword [esp + 0x110], ebp
mov esi, dword [esp + 0x68]
mov edi, dword [esi + 0x14]
mov esi, dword [esp + 0x88]
mov dword [esp], esi
call edi
mov eax, dword [esp + 0x13c]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x12c], ecx
mov edx, dword [esp + 4]
lea edi, [esp + 0x98]
xor eax, eax
call fcn.0046cb24
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa0], edx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x98]
mov dword [esp], ecx
lea ecx, [esp + 0x24]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 6
mov byte [esp + 0x14], 1
call fcn.0044d240
mov eax, dword [esp + 0x18]
test eax, eax
je 0x63f9e0
cmp eax, 1
je 0x63f994
cmp eax, 2
je 0x63f956
cmp eax, 3
je 0x63f7cd
cmp eax, 4
jne 0x63f91d
mov eax, dword [0x964798]
mov ecx, dword [0x96479c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
movzx eax, byte [esp + 0x22]
test al, 1
je 0x63f916
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x134]
mov eax, dword [edx]
call eax
add esp, 0x138
ret
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
movzx eax, byte [esp + 0x22]
test al, 1
je 0x63f94f
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x134]
mov eax, dword [edx]
call eax
add esp, 0x138
ret
mov eax, dword [esp + 0x13c]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x63f98d
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x134]
mov eax, dword [edx]
call eax
add esp, 0x138
ret
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
movzx eax, byte [esp + 0x22]
test al, 1
je 0x63f9d9
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x134]
mov eax, dword [edx]
call eax
add esp, 0x138
ret
mov eax, dword [0x9647c8]
mov ecx, dword [0x9647cc]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
movzx eax, byte [esp + 0x22]
test al, 1
je 0x63fa16
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x134]
mov eax, dword [edx]
call eax
add esp, 0x138
ret
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a0]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748700]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a0]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486f8]
mov dword [esp + 4], eax
call fcn.00439660
nop
call fcn.00439380
add esp, 0x138
ret
call fcn.0046b490
jmp fcn.0063ee40