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

Disassembly:
sub esp, 0xc4
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x94]
cmp eax, 0xffffffff
jne 0x63b766
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc4
ret 8
push 0x400
push eax
mov eax, dword [esi + 0x98]
push eax
call dword [0x10056890]
mov ecx, dword [esi + 0x18]
push ecx
call 0x64b49e
mov edx, dword [0x10064060]
xor eax, eax
sub edx, 5
mov ecx, 0xc
neg edx
lea edi, [esp + 0xa4]
mov ebx, 1
sbb edx, edx
mov dword [esi + 0xa8], ebx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x94]
and edx, 4
push ecx
add edx, 0x2c
mov dword [esp + 0xac], 6
mov dword [esp + 0xa8], edx
mov dword [esp + 0x30], eax
call dword [0x10056860]
call dword [0x10056744]
mov eax, dword [esp + 0xd8]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x20], edi
je 0x63b80f
lea edx, [esp + 0x24]
push edx
call dword [0x10056750]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
push ecx
mov ecx, esi
call fcn.0063cff0
mov dword [esp + 0x20], eax
jmp 0x63b827
mov eax, dword [esp + 0xdc]
test al, al
je 0x63b827
lea edx, [esp + 0x20]
mov ecx, esi
push edx
push eax
call fcn.00639a80
mov eax, dword [esi + 0x94]
push edi
push eax
push 2
mov ecx, esi
call fcn.0063c200
mov eax, dword [esi + 0x18]
push 0xffffffffffffffec
push eax
call dword [0x10056774]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xa8]
cmp eax, ebx
jne 0x63bd94
jmp 0x63b85a
xor edi, edi
cmp dword [esp + 0x20], 0xffffffff
je 0x63bd94
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
push 0x400
push ecx
push edx
call dword [0x10056890]
test al, 3
jne 0x63b757
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
lea eax, [esp + 0xa4]
push eax
push 1
push ecx
push edx
call dword [0x10056884]
mov ecx, esi
call fcn.0063d240
mov ebp, dword [esi + 0x94]
mov ecx, esi
push ebp
mov dword [esi + 0xa8], edi
mov dword [esi + 0xb4], edi
mov dword [esp + 0x38], ebp
call fcn.0063cc80
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x3c], ebx
call fcn.00604ab0
mov edi, eax
test edi, edi
je 0x63bcc4
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0x70]
push eax
call fcn.0063bde0
cmp ebx, 3
jne 0x63b982
push 0x289
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x4c]
call fcn.0061cd30
push 0x286
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x44]
call fcn.0061cd30
push 0x1e1
mov ecx, edi
call fcn.0063eb90
mov ecx, dword [esp + 0x78]
push 0x1de
sub ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, edi
call fcn.0063eb90
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
push edx
neg eax
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [0x100567e4]
jmp 0x63bab1
cmp ebx, 5
jne 0x63ba17
push 0x28a
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x54]
call fcn.0061cd30
push 0x287
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x64]
call fcn.0061cd30
push 0x1e1
mov ecx, edi
call fcn.0063eb90
mov edx, dword [esp + 0x78]
push 0x1de
sub edx, eax
mov ecx, edi
mov dword [esp + 0x1c], edx
call fcn.0063eb90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
sub ecx, edx
mov edx, dword [esp + 0x54]
add eax, ebp
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x14], eax
add edx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], edx
neg ecx
push eax
lea edx, [esp + 0x14]
push ecx
push edx
call dword [0x100567e4]
jmp 0x63bab1
cmp ebx, 6
jne 0x63ba9a
push 0x28b
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x6c]
call fcn.0061cd30
push 0x288
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x5c]
call fcn.0061cd30
push 0x1e1
mov ecx, edi
call fcn.0063eb90
mov ecx, dword [esp + 0x78]
push 0x1de
sub ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, edi
call fcn.0063eb90
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x5c]
add ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], ecx
push edx
jmp 0x63b96f
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x18]
lea edx, [esp + 0x10]
push edx
push ebp
push eax
push ecx
call dword [0x1005687c]
push 0x291
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x28]
call fcn.0061cd30
cmp ebx, 3
jl 0x63baef
cmp ebx, 6
jg 0x63baef
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
neg edx
neg eax
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [0x100567e4]
jmp 0x63bcc4
mov edx, dword [esi + 0x18]
push edx
call fcn.00602ce0
add esp, 4
mov ecx, edi
mov ebx, eax
push 0x290
call fcn.0063eb90
push eax
push 0x28f
mov ecx, edi
call fcn.0063eb90
push eax
push 0x28e
mov ecx, edi
call fcn.0063eb90
push eax
push 0x28d
mov ecx, edi
call fcn.0063eb90
push eax
lea ecx, [esp + 0x94]
call fcn.0063bdc0
mov eax, dword [esi + 0x18]
push 0xfffffffffffffff0
push eax
call dword [0x10056774]
mov ebp, eax
mov eax, dword [esi + 0x18]
push 0xffffffffffffffec
push eax
call dword [0x10056774]
cmp dword [0x10064060], 9
jne 0x63bb9f
xor edi, edi
test ebp, 0x40000
je 0x63bb6e
push 0x20
jmp 0x63bb78
test ebp, 0x800000
je 0x63bb80
push 7
call dword [0x100567bc]
mov edi, eax
push 4
call dword [0x100567bc]
add eax, edi
neg eax
push eax
lea eax, [esp + 0x14]
neg edi
push edi
mov edi, dword [0x100567e4]
push eax
call edi
jmp 0x63bc02
xor edi, edi
test ah, 1
je 0x63bbad
mov edi, 2
jmp 0x63bbb9
test eax, 0x20000
je 0x63bbb9
mov edi, 1
test ebp, 0xc00000
jne 0x63bbc5
test al, 1
je 0x63bbc6
inc edi
test ebp, 0x40000
je 0x63bbcf
inc edi
test ah, 2
je 0x63bbd7
add edi, 2
mov ebp, dword [0x100567bc]
push 6
call ebp
imul eax, edi
neg eax
push eax
push 5
call ebp
imul eax, edi
neg eax
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [0x100567e4]
mov edi, dword [0x100567e4]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
call edi
lea edx, [esp + 0x94]
mov ecx, ebx
push edx
call fcn.00608fd0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add ecx, eax
mov eax, dword [esp + 0x94]
push ecx
add eax, edx
lea ecx, [esp + 0x14]
push eax
push ecx
call edi
lea edx, [esp + 0x30]
mov ecx, esi
push edx
push 0
push 0x229
mov dword [esp + 0x3c], 0
call fcn.0063ce50
push eax
call dword [0x100567f8]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x63bca3
test eax, eax
je 0x63bca3
cmp dword [esp + 0x3c], 1
je 0x63bcc4
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
lea ecx, [eax + edx*2 - 0xa]
mov dword [esp + 0x10], ecx
jmp 0x63bcc4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4 + 5]
lea eax, [eax + eax*4]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
lea edx, [ecx + eax*2]
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x18]
push eax
call dword [0x100567c4]
mov eax, dword [esp + 0x38]
xor ebp, ebp
xor ecx, ecx
test ah, 0x10
je 0x63bce6
mov eax, dword [esp + 0x18]
mov ecx, 8
jmp 0x63bcea
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x18]
mov edi, dword [esp + 0x1c]
push ebp
push edx
xor edx, edx
cmp edi, ebp
setle dl
dec edx
push ebp
and edx, edi
mov ebx, 1
push edx
xor edx, edx
cmp eax, ebp
mov dword [esi + 0xb8], ebp
setle dl
dec edx
mov dword [esi + 0xb0], ebx
and edx, eax
mov eax, dword [esp + 0xc8]
push edx
push ecx
push eax
call dword [0x10056720]
mov eax, dword [esi + 0xa8]
mov dword [esi + 0xb0], ebp
cmp eax, ebp
je 0x63bd48
mov ecx, dword [esp + 0x2c]
push ebp
push ecx
push ebp
mov ecx, esi
call fcn.0063c200
cmp dword [esi + 0xac], ebp
je 0x63bd58
cmp dword [esi + 0xa8], ebp
je 0x63bd75
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0x94]
neg eax
sbb eax, eax
push ebp
and eax, 2
push edx
push eax
mov ecx, esi
call fcn.0063c200
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x2c], ecx
mov ecx, esi
call fcn.0063d280
cmp dword [esi + 0xa8], ebx
je 0x63b858
xor edi, edi
cmp dword [esi + 0xac], edi
jne 0x63bdac
mov dword [esi + 0x94], 0xffffffff
mov dword [0x10064b20], edi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc4
ret 8