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

Disassembly:
sub esp, 0x100
xor ecx, ecx
mov dword [esp + 0x30], 0
push ebx
mov dword [esp + 8], ecx
xor bl, bl
mov dword [esp + 0xf4], ecx
xor eax, eax
xor cl, cl
mov byte [esp + 5], bl
mov ebx, dword [esp + 0x110]
xor edx, edx
mov byte [esp + 6], cl
mov byte [esp + 7], cl
mov byte [esp + 4], cl
mov ecx, dword [esp + 0x118]
push ebp
mov ebp, dword [esp + 0x10c]
mov dword [esp + 0xf4], eax
lea eax, [ebx + ecx]
mov dword [esp + 0x34], edx
push esi
mov esi, eax
mov dword [esp + 0x104], eax
push edi
xor edi, edi
mov dword [esp + 0x10c], edi
lea eax, [esi - 1]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x120]
test ebp, ebp
jne 0x63f9c0
cmp dword [esp + 0x118], edx
jne 0x63f9c0
test ebx, ebx
jne 0x63f9c0
cmp eax, 0xfffffc19
jne 0x63f9c0
cmp ecx, eax
jne 0x63f9c0
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
call 0xcc6e1d13
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret
mov edx, dword [esp + 0x128]
test edx, 0xe20f5a6f
je 0x63f9df
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x100
ret
test ebp, ebp
je 0x64075a
test ebx, ebx
je 0x64075a
mov ebx, dword [esp + 0x12c]
mov edi, dword [esp + 0x130]
test ebx, ebx
jne 0x63fa09
test edi, edi
jg 0x64075a
test edi, edi
jns 0x63fa1d
pop edi
pop esi
pop ebp
mov eax, 0xfffffff1
pop ebx
add esp, 0x100
ret
test eax, eax
jns 0x63fa31
pop edi
pop esi
pop ebp
mov eax, 0xffffffe0
pop ebx
add esp, 0x100
ret
test ecx, ecx
js 0x64074a
cmp ecx, eax
jg 0x64074a
mov ecx, dword [ebp]
cmp ecx, 0x50435245
je 0x63fa6a
pop edi
pop esi
cmp ecx, 0x45524350
mov eax, 0xfffffffc
mov edx, 0xffffffe3
pop ebp
cmove eax, edx
pop ebx
add esp, 0x100
ret
test byte [ebp + 0xc], 1
jne 0x63fa80
pop edi
pop esi
pop ebp
mov eax, 0xffffffe4
pop ebx
add esp, 0x100
ret
mov ecx, dword [ebp + 8]
mov eax, 0
and ecx, 0x800
mov dword [esp + 0x34], ecx
setne al
mov dword [esp + 0x20], eax
mov dword [esp + 0x90], eax
test edx, 0x8000000
je 0x63faaf
mov eax, 2
jmp 0x63fab7
mov eax, edx
shr eax, 0xf
and eax, 1
mov dword [esp + 0xcc], eax
test ecx, ecx
je 0x63fb55
test edx, 0x2000
jne 0x63fb55
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x124]
push dword [esp + 0x124]
call 0xdce01f4b
add esp, 0xc
test eax, eax
je 0x63fb27
cmp edi, 2
jl 0x63faff
mov ecx, dword [esp + 0x1c]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
cmp eax, 5
jg 0x63fb17
cmp dword [esp + 0xcc], 1
mov eax, 0xffffffe7
jg 0x64075f
pop edi
pop esi
pop ebp
mov eax, 0xfffffff6
pop ebx
add esp, 0x100
ret
mov eax, dword [esp + 0x124]
test eax, eax
jle 0x63fb55
cmp eax, dword [esp + 0x120]
jge 0x63fb55
mov eax, esi
mov al, byte [eax]
and al, 0xc0
cmp al, 0x80
jne 0x63fb55
pop edi
pop esi
pop ebp
mov eax, 0xfffffff5
pop ebx
add esp, 0x100
ret
movzx ebx, word [ebp + 0x22]
mov ecx, 0x989680
movzx edi, word [ebp + 0x24]
mov edx, ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x2c], 0
lea eax, [ebx + ebp]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x74], eax
movzx eax, word [ebp + 0x26]
mov ebp, dword [ebp + 0x30]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x4c], edx
mov dword [esp + 0xec], 0
test eax, eax
je 0x63fbe6
mov ebx, dword [eax]
test bl, 1
je 0x63fbb0
mov ebx, dword [eax + 4]
mov dword [esp + 0x2c], ebx
mov ebx, dword [eax]
test bl, 2
je 0x63fbbc
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
test bl, 0x10
je 0x63fbc8
mov edx, dword [eax + 0x14]
mov dword [esp + 0x4c], edx
test bl, 4
je 0x63fbde
mov eax, dword [eax + 0xc]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x118]
test bl, 8
je 0x63fbe6
mov ebp, dword [eax + 0x10]
mov eax, dword [esp + 0x114]
mov ebx, dword [eax + 0xc]
test ebx, 0x2000
mov dword [esp + 0x24], ebx
movzx ebx, word [eax + 0x22]
je 0x63fc13
mov eax, dword [eax + 0x10]
cmp eax, ecx
cmovb ecx, eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x48], ecx
test dword [esp + 0x24], 0x4000
je 0x63fc29
mov eax, dword [eax + 0x14]
cmp eax, edx
cmovb edx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x114]
test ebp, ebp
mov ecx, 0x6e8fe0
mov dword [esp + 0x70], 0
cmovne ecx, ebp
mov dword [esp + 0xa8], 0
mov dword [esp + 0xf4], 0
mov eax, dword [edx + 8]
mov dword [esp + 0x38], eax
or eax, dword [esp + 0x128]
mov dword [esp + 0x104], eax
movzx eax, word [edx + 0x26]
imul edi, eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xf0], 0
mov dword [esp - 0x13dc9e18], 0x91
add edi, ebx
mov dword [esp + 0x7c], ecx
mov ebx, dword [esp + 0x38]
add edi, edx
mov edx, dword [esp + 0x11c]
mov eax, ebx
shr eax, 5
and eax, 1
mov dword [esp + 0xb8], edx
add edx, dword [esp + 0x120]
mov dword [esp + 0x9c], eax
mov ebp, edx
mov eax, ebx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x128]
shr eax, 0x1d
and eax, 1
mov dword [esp + 0xb4], edi
mov dword [esp + 0x98], eax
mov eax, ebx
shr eax, 0x19
and eax, 1
mov edi, dword [esp + 0x24]
mov dword [esp + 0x94], eax
mov eax, edx
shr eax, 7
and eax, 1
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x88], eax
mov eax, edx
shr eax, 8
and eax, 1
mov dword [esp + 0x8c], eax
mov eax, edx
shr eax, 0xa
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, edx
shr eax, 0x1c
and eax, 1
mov dword [esp + 0xa4], eax
mov eax, edi
shr eax, 0xc
and eax, 1
mov dword [esp + 0xb0], eax
lea eax, [ecx + 0x100]
mov dword [esp + 0x80], eax
lea eax, [ecx + 0x340]
mov dword [esp + 0x84], eax
mov eax, edx
and eax, 0x1800000
je 0x63fde2
cmp eax, 0x800000
je 0x63fdd5
cmp eax, 0x1000000
jne 0x63fe2a
mov dword [esp + 0xac], 0
test edx, 0x700000
mov eax, edx
cmove eax, ebx
and eax, 0x700000
cmp eax, 0x300000
ja 0x63fe1c
je 0x63fe02
test eax, eax
je 0x63fdbb
cmp eax, 0x100000
je 0x63fdfb
cmp eax, 0x200000
jne 0x63fe2a
mov eax, 0xa
xor ecx, ecx
mov byte [esp + 0x78], al
mov dword [esp + 0x5c], ecx
mov ecx, 1
mov dword [esp + 0x60], ecx
jmp 0x63fe4a
mov dword [esp + 0xac], 1
jmp 0x63fd90
test ebx, 0x1800000
je 0x63fd85
mov eax, ebx
shr eax, 0x17
and eax, 1
mov dword [esp + 0xac], eax
jmp 0x63fd90
mov eax, 0xd
jmp 0x63fdc0
mov ecx, 2
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], ecx
mov word [esp + 0x78], 0xa0d
jmp 0x63fe4a
cmp eax, 0x400000
je 0x63fe41
cmp eax, 0x500000
je 0x63fe3a
pop edi
pop esi
pop ebp
mov eax, 0xffffffe9
pop ebx
add esp, 0x100
ret
mov ecx, 2
jmp 0x63fe46
mov ecx, 1
mov dword [esp + 0x5c], ecx
cmp dword [esp + 0xcc], 0
je 0x63fe6c
test edi, 0x200
je 0x63fe6c
pop edi
pop esi
pop ebp
mov eax, 0xfffffff3
pop ebx
add esp, 0x100
ret
mov eax, 0x55555556
imul dword [esp + 0x130]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebx, [eax + eax*2]
mov eax, 0x55555556
lea ecx, [ebx + ebx]
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x114]
movzx eax, word [eax + 0x20]
test ax, ax
je 0x63fefd
mov ecx, eax
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x63fefd
inc ecx
lea ebx, [ecx + ecx*2]
lea eax, [ebx*4]
push eax
call dword [fcn.00720140]
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
test edi, edi
jne 0x63fee8
lea eax, [edi - 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x40], 1
mov dword [esp + 0x28], edi
jmp 0x63ff0e
mov eax, dword [esp + 0x12c]
mov edi, eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x28], eax
lea ecx, [ebx + ebx]
mov dword [esp + 0x54], ebx
mov eax, 0x55555556
mov dword [esp + 0xd4], 0
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x63ffa9
lea ecx, [eax + ebx*4]
mov eax, dword [esp + 0x114]
mov edx, ecx
movzx eax, word [eax + 0x1e]
shl eax, 2
sub edx, eax
mov eax, dword [esp + 0x28]
add eax, 8
cmp edx, eax
cmovb edx, eax
sub ecx, 4
cmp ecx, edx
jb 0x63ff7a
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, edx
jae 0x63ff62
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x130]
test eax, eax
jle 0x63ff96
mov dword [edi], 0xffffffff
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x50]
cmp eax, 1
jle 0x63ffa9
mov dword [edi + 4], 0xffffffff
mov ebp, dword [esp + 0xbc]
test byte [esp + 0x104], 0x10
mov edx, dword [esp + 0x114]
jne 0x640010
mov eax, dword [edx + 0xc]
test al, 0x10
je 0x63ffee
mov bl, byte [edx + 0x18]
mov ecx, 1
mov dword [esp + 0x14], ecx
mov cl, bl
mov byte [esp + 0x11], bl
mov byte [esp + 0x12], cl
test al, 0x20
je 0x640010
mov eax, dword [esp + 0x80]
movzx ecx, bl
mov bl, byte [ecx + eax]
mov byte [esp + 0x11], bl
jmp 0x640010
test dword [esp + 0x24], 0x100
jne 0x640010
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x640010
test byte [eax + 4], 1
je 0x640010
add eax, 8
mov dword [esp + 0xfc], eax
mov eax, dword [edx + 0xc]
test al, 0x40
je 0x640044
mov bl, byte [edx + 0x1a]
mov dword [esp + 0x100], 1
mov cl, bl
mov byte [esp + 0x10], bl
mov byte [esp + 0x13], cl
test al, al
jns 0x640044
mov eax, dword [esp + 0x80]
movzx ecx, bl
mov al, byte [ecx + eax]
mov byte [esp + 0x10], al
mov ebx, dword [esp + 0x18]
nop dword [eax + eax]
test dword [esp + 0x38], 0x40000
mov edi, ebx
je 0x64014b
cmp dword [esp + 0x34], 0
mov edi, esi
je 0x6400e4
cmp esi, ebp
jae 0x64014b
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x6400a6
cmp edi, ebp
jae 0x6400cc
push dword [esp + 0x20]
lea eax, [esp + 0x64]
push eax
push ebp
push edx
push edi
call 0x9cdd24ef
add esp, 0x14
test eax, eax
jne 0x640144
mov ebp, dword [esp + 0xbc]
mov edx, dword [esp + 0x5c]
jmp 0x6400cc
mov ecx, dword [esp + 0x60]
mov eax, ebp
sub eax, ecx
cmp edi, eax
ja 0x6400cc
mov al, byte [edi]
cmp al, byte [esp + 0x78]
jne 0x6400cc
cmp ecx, 1
je 0x640144
mov al, byte [edi + 1]
cmp al, byte [esp + 0x79]
je 0x640144
inc edi
cmp edi, ebx
jae 0x6400de
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x6400de
inc edi
cmp edi, ebx
jb 0x6400d1
cmp edi, ebp
jb 0x640075
jmp 0x640144
cmp esi, ebp
jae 0x64014b
mov edx, dword [esp + 0x5c]
nop dword [eax]
test edx, edx
je 0x64011d
cmp edi, ebp
jae 0x64013f
push dword [esp + 0x20]
lea eax, [esp + 0x64]
push eax
push ebp
push edx
push edi
call 0x9cdd256a
add esp, 0x14
test eax, eax
jne 0x640144
mov ebp, dword [esp + 0xbc]
mov edx, dword [esp + 0x5c]
jmp 0x64013f
mov ecx, dword [esp + 0x60]
mov eax, ebp
sub eax, ecx
cmp edi, eax
ja 0x64013f
mov al, byte [edi]
cmp al, byte [esp + 0x78]
jne 0x64013f
cmp ecx, 1
je 0x640144
mov al, byte [edi + 1]
cmp al, byte [esp + 0x79]
je 0x640144
inc edi
cmp edi, ebp
jb 0x6400f0
mov edx, dword [esp + 0x114]
mov eax, dword [edx + 8]
or eax, dword [esp + 0x128]
mov ebp, dword [esp + 0x14]
test eax, 0x4000000
jne 0x640310
test ebp, ebp
je 0x6401b2
cmp esi, edi
jae 0x640310
mov cl, byte [esp + 0x12]
mov dl, byte [esp + 0x11]
cmp cl, dl
je 0x6401a0
nop dword [eax]
mov al, byte [esi]
cmp al, cl
je 0x640310
cmp al, dl
je 0x640310
inc esi
cmp esi, edi
jb 0x640180
jmp 0x640310
cmp byte [esi], cl
je 0x640310
inc esi
cmp esi, edi
jb 0x6401a0
jmp 0x640310
test dword [esp + 0x24], 0x100
je 0x6402da
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0xb8]
add eax, ecx
cmp esi, eax
jbe 0x640310
cmp esi, edi
jae 0x6402ba
cmp dword [esp + 0x34], 0
je 0x64025f
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x640211
cmp esi, ecx
jbe 0x640245
push dword [esp + 0x20]
lea edx, [esp + 0x64]
push edx
push ecx
push eax
push esi
call 0xfcde2665
add esp, 0x14
test eax, eax
jne 0x6402ba
jmp 0x64023e
mov edx, dword [esp + 0x60]
lea eax, [ecx + edx]
cmp esi, eax
jb 0x640245
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esp + 0x78]
jne 0x64023e
cmp edx, 1
je 0x6402ba
mov al, byte [ecx + 1]
cmp al, byte [esp + 0x79]
je 0x6402ba
mov ecx, dword [esp + 0xb8]
inc esi
cmp esi, edi
jae 0x6402ba
nop word [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x6401e7
inc esi
cmp esi, edi
jb 0x640250
jmp 0x6402ba
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x640285
cmp esi, ecx
jbe 0x6402b5
push dword [esp + 0x20]
lea edx, [esp + 0x64]
push edx
push ecx
push eax
push esi
call 0xfcde26dd
add esp, 0x14
test eax, eax
jne 0x6402ba
jmp 0x6402aa
mov edx, dword [esp + 0x60]
lea eax, [ecx + edx]
cmp esi, eax
jb 0x6402b1
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esp + 0x78]
jne 0x6402aa
cmp edx, 1
je 0x6402ba
mov al, byte [ecx + 1]
cmp al, byte [esp + 0x79]
je 0x6402ba
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x5c]
inc esi
cmp esi, edi
jb 0x640263
cmp byte [esi - 1], 0xd
jne 0x640310
mov eax, dword [esp + 0x5c]
cmp eax, 1
je 0x6402ce
cmp eax, 2
jne 0x640310
cmp esi, edi
jae 0x640310
cmp byte [esi], 0xa
jne 0x640310
inc esi
jmp 0x640310
mov ebp, dword [esp + 0xfc]
test ebp, ebp
je 0x64030c
cmp esi, edi
jae 0x64030c
nop dword [eax]
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + ebp], al
jne 0x64030c
inc esi
cmp esi, edi
jb 0x6402f0
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x114]
mov eax, dword [edi + 8]
or eax, dword [esp + 0x128]
test eax, 0x4000000
jne 0x6403bc
cmp dword [esp + 0xcc], 0
jne 0x6403bc
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x640351
test byte [ecx + 4], 2
je 0x640351
mov eax, ebx
sub eax, esi
cmp eax, dword [ecx + 0x28]
jb case.0x64044d.996
cmp dword [esp + 0x100], 0
je 0x6403bc
mov eax, ebx
sub eax, esi
cmp eax, 0x3e8
jge 0x6403bc
lea ecx, [esi + ebp]
cmp ecx, dword [esp + 0x30]
jbe 0x6403bc
cmp ecx, ebx
jae case.0x64044d.996
mov ah, byte [esp + 0x13]
cmp ah, byte [esp + 0x10]
je 0x6403a0
nop dword [eax]
mov al, byte [ecx]
mov edx, ecx
inc ecx
mov dword [esp + 0x30], edx
cmp al, ah
je 0x6403b8
cmp al, byte [esp + 0x10]
je 0x6403b8
cmp ecx, ebx
jb 0x640380
xor ebx, ebx
jmp 0x640588
mov al, byte [ecx]
mov edx, ecx
mov dword [esp + 0x30], ecx
inc ecx
cmp al, ah
je 0x6403b8
cmp ecx, ebx
jb 0x6403a0
xor ebx, ebx
jmp 0x640588
cmp edx, ebx
jae case.0x64044d.996
push 0
push 0
lea eax, [esp + 0x4c]
mov dword [esp + 0xc8], esi
push eax
push 2
push esi
push dword [esp + 0xc8]
mov dword [esp + 0xe0], esi
push esi
mov dword [esp + 0x60], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0x88], 0
call 0xcc6e276d
add esp, 0x1c
mov ebx, eax
cmp dword [esp + 0xa8], 0
je 0x640434
cmp dword [esp + 0x3c], 0
jne 0x640434
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10c], esi
test ebx, ebx
jg case.default.0x64044d
je case.0x64044d.995
lea eax, [ebx + 0x3e4]
cmp eax, 4
ja case.default.0x64044d
jmp dword [eax*4 + 0x64076c]
mov eax, dword [esp + 0x6c]
mov edi, esi
mov dword [esp + 0x70], eax
jmp 0x640492
mov edi, dword [esp + 0xc0]
cmp edi, esi
ja 0x640492
cmp dword [esp + 0x34], 0
lea edi, [esi + 1]
mov dword [esp + 0x70], 0
je 0x640492
mov ecx, dword [esp + 0x18]
cmp edi, ecx
jae 0x640492
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x640492
inc edi
cmp edi, ecx
jb 0x640485
mov eax, dword [esp + 0x5c]
xor ebx, ebx
test dword [esp + 0x38], 0x40000
mov ebp, dword [esp + 0xbc]
je 0x6404dc
test eax, eax
je 0x640548
cmp esi, ebp
jae 0x6404dc
push dword [esp + 0x20]
lea ecx, [esp + 0x64]
push ecx
push ebp
push eax
push esi
call 0x9cdd2927
add esp, 0x14
test eax, eax
jne 0x640588
mov ebp, dword [esp + 0xbc]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
test byte [esp + 0x104], 0x10
mov esi, edi
jne 0x640588
cmp edi, dword [esp + 0x18]
ja 0x640588
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x114]
cmp edi, dword [esp + 0x108]
jbe 0x640538
cmp byte [edi - 1], 0xd
jne 0x640538
cmp edi, ebx
jae 0x640538
cmp byte [edi], 0xa
jne 0x640538
test dword [edx + 0xc], 0x800
jne 0x640538
cmp eax, 1
je 0x640535
cmp eax, 2
je 0x640535
cmp ecx, 2
jne 0x640538
lea esi, [edi + 1]
mov dword [esp + 0xf0], 0
jmp 0x640050
mov ecx, dword [esp + 0x60]
mov eax, ebp
sub eax, ecx
cmp esi, eax
ja 0x64056a
mov al, byte [esi]
cmp al, byte [esp + 0x78]
jne 0x64056a
cmp ecx, 1
je 0x640588
mov al, byte [esi + 1]
cmp al, byte [esp + 0x79]
je 0x640588
mov eax, dword [esp + 0x5c]
jmp 0x6404e0
cmp ebx, 1
je 0x64062c
cmp ebx, 0xfffffc19
je 0x64062c
cmp dword [esp + 0x40], 0
je 0x64059c
push dword [esp + 0x50]
call dword [fcn.00720144]
add esp, 4
test ebx, ebx
je 0x6405b2
cmp ebx, 0xfffffff4
je 0x6405b2
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x100
ret
mov edi, dword [esp + 0x10c]
test edi, edi
je 0x6405fa
mov ecx, dword [esp + 0x130]
cmp ecx, 1
jle 0x6405f3
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x11c]
sub edx, ebx
mov dword [eax], edx
mov edx, dword [esp + 0x120]
mov dword [eax + 4], edx
cmp ecx, 2
jle 0x6405f3
sub edi, ebx
mov dword [eax + 8], edi
mov eax, 0xfffffff4
jmp 0x6405fd
or eax, 0xffffffff
mov edx, dword [esp + 0x118]
test edx, edx
je 0x64075f
test byte [edx], 0x20
je 0x64075f
mov edx, dword [edx + 0x18]
mov ecx, dword [esp + 0xf4]
pop edi
pop esi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x100
ret
cmp dword [esp + 0x40], 0
mov ebx, dword [esp + 0x1c]
je 0x64067d
mov esi, dword [esp + 0x50]
cmp ebx, 4
jl 0x64065f
lea eax, [ebx*4 - 8]
push eax
lea eax, [esi + 8]
push eax
mov eax, dword [esp + 0x134]
add eax, 8
push eax
call 0xecdf25bd
add esp, 0xc
cmp dword [esp + 0xd0], ebx
jle 0x640673
or dword [esp + 0xd4], 0x10000
push esi
call dword [fcn.00720144]
add esp, 4
test dword [esp + 0xd4], 0x10000
mov ecx, dword [esp + 0xd0]
je 0x640699
cmp ecx, ebx
jl 0x640699
xor esi, esi
jmp 0x6406a2
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
movzx edi, word [edi + 0x1e]
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x12c]
sar eax, 1
cmp eax, edi
jg 0x6406f2
test edx, edx
je 0x6406f2
lea eax, [edi*2 + 2]
cmp eax, dword [esp + 0x130]
lea edi, [edx + ecx*4]
cmovg eax, dword [esp + 0x130]
xor ebx, ebx
lea eax, [edx + eax*4]
mov ecx, eax
sub ecx, edi
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, ebx
test ecx, ecx
je 0x6406f2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
cmp dword [esp + 0x130], 2
jge 0x640700
xor esi, esi
jmp 0x640721
mov eax, dword [esp + 0xc0]
sub eax, dword [esp + 0xb8]
mov dword [edx], eax
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0xb8]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x118]
test edx, edx
je 0x64073d
test byte [edx], 0x20
je 0x64073d
mov edx, dword [edx + 0x18]
mov ecx, dword [esp + 0xf0]
mov dword [edx], ecx
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe8
pop ebx
add esp, 0x100
ret
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret