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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x9c]
cmp eax, dword [ecx + 8]
jbe 0x63f855
sub esp, 0x11c
movzx ecx, byte [esp + 0x148]
cmp cl, 1
jne 0x63f257
mov eax, 1
jmp 0x63f265
cmp cl, 2
jne 0x63f263
mov eax, 2
jmp 0x63f265
xor eax, eax
mov byte [esp + 0x73], al
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.00465fdf
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xd8], ecx
movzx ecx, byte [esp + 0x168]
mov byte [esp + 0x118], cl
movzx ecx, byte [esp + 0x73]
mov byte [esp + 0x119], cl
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov esi, ecx
mov ecx, dword [esp + 0x128]
mov edi, edx
mov edx, dword [esp + 0x124]
test ecx, ecx
je 0x63f40c
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xa4], edi
lea eax, [esi + 0x34]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0063ca70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x63f3fd
mov dword [esp + 0x98], edx
mov dword [esp + 0xa0], ecx
lea eax, [0x696560]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x69a500]
mov edx, dword [esp + 0x9c]
mov dword [edx], ecx
mov ecx, dword [0x1eaa9f0]
test ecx, ecx
jne 0x63f372
mov dword [edx + 4], eax
jmp 0x63f37a
lea edi, [edx + 4]
call fcn.00465d80
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x63f388
mov ecx, dword [ecx + 4]
mov dword [edx + 8], ecx
mov ecx, dword [0x1eaa9f0]
test ecx, ecx
jne 0x63f3a1
mov eax, dword [esp + 0x98]
mov dword [edx + 0xc], eax
jmp 0x63f3b0
lea edi, [edx + 0xc]
mov eax, dword [esp + 0x98]
call fcn.00465d80
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x30]
mov ecx, dword [ecx + 0x10]
mov dword [esp], ebx
lea ebx, [0x6fc159]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1f
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call ecx
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0xa4]
xor eax, eax
mov edi, ebx
mov ebx, ebp
mov ebp, esi
mov esi, dword [esp + 0x120]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], ebx
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
mov ebp, dword [esp + 0x124]
mov ebx, dword [esp + 0x128]
test edx, edx
je 0x63f443
cmp edx, 1
jne 0x63f443
mov edx, 2
jmp 0x63f448
mov edx, 1
test ecx, ecx
jg 0x63f489
cmp ecx, 0xffffff38
jg 0x63f472
cmp ecx, 0xfffffed4
jne 0x63f463
mov ecx, 0x42c80000
jmp 0x63f4de
cmp ecx, 0xffffff38
jne 0x63f4d9
mov ecx, 0x43480000
jmp 0x63f4de
cmp ecx, 0xffffff9c
jne 0x63f47e
mov ecx, 0x43960000
jmp 0x63f4de
test ecx, ecx
jne 0x63f4d9
mov ecx, 0x43c80000
jmp 0x63f4de
cmp ecx, 0xc8
jg 0x63f4ac
cmp ecx, 0x64
jne 0x63f49d
mov ecx, 0x43fa0000
jmp 0x63f4de
cmp ecx, 0xc8
jne 0x63f4d9
mov ecx, 0x44160000
jmp 0x63f4de
cmp ecx, 0x12c
jne 0x63f4bb
mov ecx, 0x442f0000
jmp 0x63f4de
cmp ecx, 0x190
jne 0x63f4ca
mov ecx, 0x44480000
jmp 0x63f4de
cmp ecx, 0x1f4
jne 0x63f4d9
mov ecx, 0x44610000
jmp 0x63f4de
mov ecx, 0x43c80000
mov dword [esp + 0x94], edi
mov dword [esp + 0x88], ecx
lea edi, [esp + 0xa8]
call fcn.00465fea
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebx
mov byte [esp + 0xb0], dl
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esi]
mov dword [esp + 0x90], ecx
lea edi, [esp + 0xc0]
call fcn.00465fea
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xc8], ecx
movzx ecx, byte [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb8]
mov byte [esp + 0xcc], cl
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ebx
mov ecx, dword [esp + 0xc4]
test ecx, ecx
jne 0x63f5d0
lea eax, [0x695e60]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], 1
mov esi, dword [esp + 0x120]
mov eax, dword [esp + 0x90]
test byte [eax], al
lea edi, [eax + 0x8c]
mov ecx, dword [0x1eaa9f0]
test ecx, ecx
jne 0x63f5f7
lea esi, [esp + 0xc0]
call fcn.004664c4
jmp 0x63f61b
lea eax, [0x6b2920]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xc0]
mov dword [esp + 8], eax
call fcn.004115f0
mov eax, dword [esp + 0x90]
mov byte [eax + 0x3c], 0
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x63f6f1
mov eax, dword [esp + 0x144]
test eax, eax
jne 0x63f651
lea eax, [0x6ede00]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 3
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00452510
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x158]
movzx edx, byte [esp + 0x15c]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x120]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], dl
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1c], eax
call fcn.0063ea10
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
test eax, eax
jbe 0x63f84b
lea edi, [esp + 0xdc]
call fcn.0046646a
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x158]
movzx ebx, byte [esp + 0x15c]
mov ebp, dword [esp + 0x120]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], bl
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x1c], edx
call fcn.0063ea10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x74], edx
lea ebx, [0x6be040]
mov dword [esp], ebx
call fcn.0040be50
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x63f79e
mov eax, dword [esp + 0x8c]
mov dword [edi], eax
jmp 0x63f7aa
mov eax, dword [esp + 0x8c]
call fcn.00465d80
mov eax, dword [esp + 0x120]
add eax, 0x8c
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x84], ecx
mov dword [esp], eax
lea esi, [esp + 0xd8]
mov eax, edi
lea edi, [esp + 4]
call fcn.00466456
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x54], ecx
lea ecx, [0x786dd4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
call fcn.00638610
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], edx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ecx
add esp, 0x11c
ret
xor eax, eax
mov ecx, eax
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.0063f220