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

Disassembly:
sub esp, 0x64
mov eax, dword [esp + 0x6c]
push ebx
mov ebx, dword [esp + 0x6c]
push ebp
push esi
push edi
sub eax, ebx
lea edx, [esp + 0x34]
push edx
xor ecx, ecx
mov ebp, eax
push eax
sar ebp, 1
push ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov edi, eax
mov dword [esp + 0x30], ebp
call dword [0x6be050]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x90]
add esp, 0xc
test ecx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], eax
je 0x63fed9
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x31c]
add ebp, ebx
mov dword [esp + 0x2c], ebp
lea ebp, [eax + 0x1b8]
mov eax, dword [eax + 0x1b4]
xor edx, edx
test eax, eax
mov edi, ebp
jle 0x63ff5e
test cl, 1
je 0x63ff33
cmp esi, 0xffec0000
je 0x63ff50
cmp ebx, dword [edi + 4]
jl 0x63ff50
cmp ebx, dword [edi]
jle 0x63fffa
jmp 0x63ff50
mov ecx, dword [0x6bdab0]
test ecx, ecx
jbe 0x63fe83
mov esi, dword [esp + 0x80]
cmp esi, 0xffeb0000
je 0x63fe8a
cmp esi, 0xffec0000
je 0x63fe8a
mov edx, dword [0x6be03c]
mov dword [esp + 0x14], eax
xor eax, eax
mov ax, word [edx]
push eax
mov eax, dword [0x6bdab4]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push edi
call fcn.0063e470
add esp, 0x10
test eax, eax
je 0x63fe8a
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
jmp 0x63fe8a
cmp esi, 0xffeb0000
je 0x63ff50
mov ebx, dword [esp + 0x7c]
cmp ebx, dword [edi + 4]
jl 0x63ff4c
cmp ebx, dword [edi]
jle 0x63fff6
mov ebx, dword [esp + 0x78]
shr ecx, 1
add edi, 0x14
inc edx
cmp edx, eax
jl 0x63feb5
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x1ac]
test edx, edx
je 0x63ffda
mov ecx, dword [ecx + 0x31c]
mov dword [esp + 0x14], ecx
xor ecx, ecx
test eax, eax
mov edi, ebp
jle 0x63ffda
test byte [esp + 0x14], 1
je 0x63ffa7
cmp esi, 0xffec0000
je 0x63ffc4
mov ebp, dword [edi + 4]
mov ebx, dword [esp + 0x78]
sub ebp, edx
cmp ebx, ebp
jl 0x63ffc4
mov ebp, dword [edi]
add ebp, edx
cmp ebx, ebp
jle 0x63fffa
jmp 0x63ffc4
cmp esi, 0xffeb0000
je 0x63ffc4
mov ebp, dword [edi + 4]
mov ebx, dword [esp + 0x7c]
sub ebp, edx
cmp ebx, ebp
jl 0x63ffc4
mov ebp, dword [edi]
add ebp, edx
cmp ebx, ebp
jle 0x63fff6
mov ebp, dword [esp + 0x14]
shr ebp, 1
add edi, 0x14
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ebp
jl 0x63ff81
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x640542
call fcn.0063fa90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0x1a8]
mov ecx, edi
sub ecx, eax
sub ecx, 0x1b8
mov dword [esp + 0x1c], edx
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x88]
mov eax, dword [edx + 0x31c]
mov ebp, 1
shl ebp, cl
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
and ebp, eax
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
je 0x640096
mov eax, ebx
sub eax, ecx
mov esi, ebx
jns 0x640057
mov eax, ecx
sub eax, ebx
cmp eax, dword [edx + 0x1ac]
jg 0x640067
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x14]
test ebp, ebp
mov dword [esp + 0x3c], 0
je 0x640157
mov eax, dword [edi]
mov ecx, dword [0x6be03c]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 8]
xor edx, edx
mov dx, word [ecx + 0x368]
push edx
push eax
jmp 0x640172
mov ebx, dword [esp + 0x7c]
mov edx, ebx
sub edx, eax
mov dword [esp + 0x14], ebx
jns 0x6400a8
mov edx, eax
sub edx, ebx
mov ebx, dword [esp + 0x88]
cmp edx, dword [ebx + 0x1ac]
jg 0x6400bb
mov dword [esp + 0x14], eax
mov eax, dword [0x6be03c]
push ecx
movzx ecx, word [eax + 0x368]
imul ecx, dword [esp + 0x20]
push ecx
call fcn.005c6830
mov ebx, eax
add ebx, 0x8000
add esp, 8
and ebx, 0xffff0000
jge 0x6400e8
neg ebx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x34]
push edx
xor eax, eax
push ecx
push eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
call dword [0x6be050]
mov eax, dword [esp + 0x44]
add eax, 0x8000
and eax, 0xffff0000
add esp, 0xc
cmp eax, ebx
jge 0x640063
mov ecx, dword [edi]
lea edx, [esp + 0x3c]
push edx
xor eax, eax
push ecx
push eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
call dword [0x6be054]
mov eax, dword [0x6be03c]
mov edx, dword [edi + 8]
xor ecx, ecx
mov cx, word [eax + 0x368]
push ecx
push edx
call fcn.0063cdc0
add esp, 0x14
mov ebx, eax
jmp 0x64025a
mov ecx, dword [edi + 4]
mov edx, dword [0x6be03c]
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0xc]
xor eax, eax
mov ax, word [edx + 0x368]
push eax
push ecx
call fcn.0063cdc0
mov ecx, dword [esp + 0x44]
add esp, 8
lea edx, [esp + 0x3c]
mov ebx, eax
mov eax, dword [esp + 0x40]
push edx
push eax
push ecx
call dword [0x6be054]
add esp, 0xc
test ebp, ebp
je 0x6401a2
mov eax, dword [esp + 0x2c]
sub eax, esi
mov esi, eax
jmp 0x6401a6
sub esi, dword [esp + 0x18]
test esi, esi
je 0x640253
lea edx, [esp + 0x34]
push edx
xor eax, eax
push esi
push eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], esi
call dword [0x6be050]
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x1b0]
add esp, 0xc
cmp esi, ecx
jl 0x64021f
mov ecx, dword [0x6be03c]
movzx eax, word [ecx + 0x368]
mov edi, eax
imul eax, dword [esp + 0x1c]
push eax
shl edi, 0xf
push esi
dec edi
call fcn.005c6830
mov edx, dword [0x6be03c]
movzx ecx, word [edx + 0x368]
shl ecx, 0xf
sub eax, ecx
add esp, 8
cmp eax, edi
jle 0x640213
mov eax, edi
neg edi
cmp eax, edi
jge 0x64021b
mov eax, edi
sub dword [esp + 0x38], eax
mov edx, dword [0x6be03c]
mov ecx, dword [esp + 0x38]
xor eax, eax
mov ax, word [edx + 0x368]
push eax
push ecx
call fcn.0063cdc0
mov esi, dword [esp + 0x88]
add esp, 8
test ebp, ebp
mov dword [esp + 0x38], eax
je 0x64024f
sub ebx, eax
jmp 0x64025a
add ebx, eax
jmp 0x64025a
mov esi, dword [esp + 0x80]
cmp esi, 0xffec0000
je 0x640395
cmp esi, 0xffeb0000
je 0x640395
mov edi, dword [esp + 0x10]
mov ecx, dword [0x6bdab8]
mov edx, dword [0x6be028]
lea eax, [edi + 0x8000]
and eax, 0xffff0000
jne 0x6402a0
test ecx, ecx
jne 0x64029b
cmp edx, 0x8000
jl 0x6402a0
mov eax, 0x10000
sar eax, 1
test ecx, ecx
je 0x6402b2
mov ecx, dword [0x6bdaac]
test ecx, ecx
jne 0x6402ba
jmp 0x6402bf
cmp edx, 0x8000
jge 0x6402bf
add eax, 0x8000
test ebp, ebp
je 0x6402c7
add ebx, eax
jmp 0x6402c9
sub ebx, eax
mov esi, dword [esp + 0x84]
test esi, esi
je 0x6402fe
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
sar edx, 1
sub ebx, edx
sar eax, 1
sub ebx, eax
push ebx
call fcn.0063f9f0
add esp, 4
mov eax, esi
mov ecx, dword [eax + 0x38]
pop edi
pop esi
or ecx, 2
pop ebp
mov dword [eax + 0x38], ecx
pop ebx
add esp, 0x64
ret
mov eax, dword [0x6be03c]
xor ecx, ecx
test ebp, ebp
sete cl
push ebp
mov dword [esp + 0x44], ebx
xor edx, edx
mov dx, word [eax + 0x36c]
push ecx
xor ecx, ecx
mov cx, word [eax + 0x370]
mov ax, word [eax + 0x368]
push edx
mov edx, dword [0x6be038]
push ecx
push ebx
push edi
push edx
call fcn.0063dfc0
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x58]
push ecx
push eax
push edx
mov dword [esp + 0x68], eax
call dword [0x6be04c]
mov eax, dword [esp + 0x48]
push 1
push eax
mov eax, dword [esp + 0x54]
mov ecx, edi
call fcn.0063e770
mov ecx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x74]
lea edx, [ecx + eax]
push edx
mov edx, dword [esp + 0xb4]
push edx
sub ecx, eax
mov eax, dword [esp + 0xb4]
push 1
push ecx
push eax
call fcn.0063da10
add esp, 0x48
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov eax, dword [esp + 0x84]
test eax, eax
je 0x6403cc
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
sar ecx, 1
sub ebx, ecx
sar edx, 1
sub ebx, edx
push ebx
mov esi, eax
call fcn.0063f9f0
add esp, 4
mov eax, esi
mov ecx, dword [eax + 0x38]
pop edi
pop esi
or ecx, 2
pop ebp
mov dword [eax + 0x38], ecx
pop ebx
add esp, 0x64
ret
mov ecx, dword [esp + 0x10]
mov eax, ecx
sar eax, 1
cmp esi, 0xffec0000
mov dword [esp + 0x2c], 0
jne 0x6403e6
neg eax
add ebx, eax
xor eax, eax
cmp esi, 0xffeb0000
sete al
xor edx, edx
cmp esi, 0xffec0000
sete dl
mov dword [esp + 0x30], ebx
push eax
mov eax, dword [0x6be03c]
push edx
xor edx, edx
mov dx, word [eax + 0x36c]
push edx
xor edx, edx
mov dx, word [eax + 0x370]
mov ax, word [eax + 0x368]
push edx
push ebx
push ecx
mov ecx, dword [0x6be038]
push ecx
call fcn.0063dfc0
lea edx, [esp + 0x48]
push edx
push eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
push eax
call dword [0x6be04c]
add esp, 0x28
cmp esi, 0xffeb0000
jne 0x6404c5
mov ecx, dword [0x6be03c]
mov eax, dword [ecx + 0x330]
add eax, 0xffff0000
sar eax, 2
movsx eax, ax
imul eax, eax, 0x4d41
sar eax, 0xf
lea edx, [esp + 0x24]
neg eax
push edx
xor ecx, ecx
push eax
push ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
call dword [0x6be044]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x98]
push edx
mov ecx, 0xfff58000
sub ecx, esi
add eax, ecx
mov ecx, dword [esp + 0x88]
push eax
push ecx
push 0x11
push eax
push ecx
mov dword [esp + 0x54], eax
call fcn.0063da10
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
cmp esi, 0xffec0000
jne 0x64074c
mov eax, dword [0x6be03c]
mov ecx, dword [eax + 0x330]
sub ecx, 0x10000
sar ecx, 2
movsx eax, cx
imul eax, eax, 0x4d41
sar eax, 0xf
lea edx, [esp + 0x24]
neg eax
push edx
xor ecx, ecx
push eax
push ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
call dword [0x6be044]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x98]
push edx
lea eax, [eax + ecx + 0xa0000]
mov ecx, dword [esp + 0x8c]
push eax
push ecx
push 0x11
push eax
push ecx
mov dword [esp + 0x54], eax
call fcn.0063da10
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x3c]
push edx
xor eax, eax
push ecx
push eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
call dword [0x6be054]
xor eax, eax
mov edi, dword [esp + 0x1c]
cmp esi, 0xffeb0000
sete al
xor ecx, ecx
cmp esi, 0xffec0000
sete cl
xor edx, edx
push eax
mov eax, dword [0x6be03c]
mov dx, word [eax + 0x36c]
push ecx
xor ecx, ecx
mov cx, word [eax + 0x370]
mov ax, word [eax + 0x368]
push edx
mov edx, dword [esp + 0x58]
push ecx
mov ecx, dword [0x6be038]
push edx
push edi
push ecx
call fcn.0063dfc0
lea edx, [esp + 0x64]
push edx
push eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
push eax
call dword [0x6be04c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
push 1
push ecx
mov ecx, edi
call fcn.0063e770
add esp, 0x3c
cmp esi, 0xffeb0000
jne 0x64066d
mov edx, dword [0x6be03c]
mov eax, dword [edx + 0x330]
sub eax, 0x10000
sar eax, 2
movsx eax, ax
imul eax, eax, 0x4d41
sar eax, 0xf
lea edx, [esp + 0x2c]
neg eax
push edx
xor ecx, ecx
push eax
push ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
call dword [0x6be044]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ecx, 0xfff58000
sub ecx, ebp
add eax, ecx
lea edx, [esp + 0x50]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov eax, dword [0x6bda7c]
push edx
push eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x68], 0x210
mov dword [esp + 0x80], pe_nt_image_headers32
call fcn.0063d770
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
cmp esi, 0xffec0000
jne 0x64070a
mov ecx, dword [0x6be03c]
mov eax, dword [ecx + 0x330]
add eax, 0xffff0000
sar eax, 2
movsx eax, ax
imul eax, eax, 0x4d41
sar eax, 0xf
lea edx, [esp + 0x2c]
neg eax
push edx
xor ecx, ecx
push eax
push ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
call dword [0x6be044]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
lea eax, [eax + ecx + 0xa0000]
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x50]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov eax, dword [0x6bda7c]
push edx
push eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x68], 0x210
mov dword [esp + 0x80], pe_nt_image_headers32
call fcn.0063d770
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov ecx, dword [esp + 0x40]
mov edx, ecx
sub edx, eax
add eax, ecx
mov ecx, dword [0x6bda7c]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x7c]
push eax
push ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x5c], 0x200
mov dword [esp + 0x74], 0x100
call fcn.0063d770
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret