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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14c
mov ecx, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, eax
or eax, 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
xor edx, edx
test dword [ebp + 0x18], 0xe20f5a6f
lea esi, [eax + ecx*2]
lea ebx, [esi - 2]
mov dword [esp + 0x30], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x18], edi
je 0x67fca1
lea eax, [edx - 3]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, edx
je 0x680894
cmp eax, edx
je 0x680894
cmp dword [ebp + 0x1c], edx
jne 0x67fcbf
cmp dword [ebp + 0x20], edx
jg 0x680894
cmp dword [ebp + 0x20], edx
jge 0x67fcd0
mov eax, 0xfffffff1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, edx
jl 0x680888
cmp ecx, dword [ebp + 0x10]
jg 0x680888
movzx eax, word [edi + 0x18]
movzx ecx, word [edi + 0x1c]
add eax, edi
mov dword [esp + 0x80], eax
movzx eax, word [edi + 0x1a]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x78], ecx
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp + 0x5c], 0x989680
mov dword [esp + 0x60], 0x1770
mov dword [esp + 0xf4], edx
mov dword [esp + 0x14], ecx
cmp eax, edx
je 0x67fd68
mov ecx, dword [eax]
test cl, 1
je 0x67fd35
mov ebx, dword [eax + 4]
mov dword [esp + 0x24], ebx
test cl, 2
je 0x67fd41
mov ebx, dword [eax + 8]
mov dword [esp + 0x5c], ebx
test cl, 0x10
je 0x67fd4d
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x60], ebx
test cl, 4
je 0x67fd5c
mov ebx, dword [eax + 0xc]
mov dword [esp + 0xf4], ebx
test cl, 8
je 0x67fd68
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], edx
jne 0x67fd76
mov dword [esp + 0x14], 0x4b6250
cmp dword [edi], 0x50435245
je 0x67fdc1
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x104]
push ecx
lea eax, [esp + 0x134]
mov edx, edi
call fcn.006809f0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x67fdaf
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x24], 0
je 0x67fdc1
lea edx, [esp + 0x104]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
mov edx, dword [ebp + 0x18]
mov ebx, eax
shr eax, 0x12
and eax, 1
mov dword [esp + 0x38], eax
movzx eax, word [ecx + 0x1c]
or ebx, edx
shr ebx, 4
and ebx, 1
mov dword [esp + 0x3c], ebx
movzx ebx, word [ecx + 0xc]
shr ebx, 3
and ebx, 1
mov dword [esp + 0x34], ebx
movzx ebx, word [ecx + 0x1a]
imul eax, ebx
movzx ebx, word [ecx + 0x18]
add ebx, edi
mov edi, dword [ebp + 0xc]
lea eax, [ebx + eax*2]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xe0], eax
mov eax, dword [ebp + 0x10]
lea eax, [edi + eax*2]
mov dword [esp + 0xc4], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc0], edi
mov eax, dword [ecx + 8]
shr eax, 5
and eax, 1
mov dword [esp + 0xa8], eax
mov dword [esp + 0x9c], 1
mov eax, dword [ecx + 8]
shr eax, 0x1d
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, dword [ecx + 8]
shr eax, 0x19
and eax, 1
mov dword [esp + 0xa4], eax
mov eax, edx
shr eax, 7
and eax, 1
mov dword [esp + 0x94], eax
mov eax, edx
shr eax, 8
and eax, 1
mov dword [esp + 0x98], eax
mov eax, edx
shr eax, 0xa
and eax, 1
mov dword [esp + 0xac], eax
mov eax, edx
shr eax, 0x1c
and eax, 1
mov dword [esp + 0xb0], eax
test edx, 0x8000000
je 0x67feb7
mov eax, 2
jmp 0x67febf
mov eax, edx
shr eax, 0xf
and eax, 1
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], eax
add eax, 0x340
xor ebx, ebx
mov dword [esp + 0x8c], eax
mov eax, edx
and eax, 0x1800000
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xf0], ebx
je 0x67ff24
cmp eax, 0x800000
je 0x67ff17
cmp eax, 0x1000000
je 0x67ff3d
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xb8], 1
jmp 0x67ff44
mov eax, dword [ecx + 8]
test eax, 0x1800000
je 0x67ff3d
shr eax, 0x17
and eax, 1
mov dword [esp + 0xb8], eax
jmp 0x67ff44
mov dword [esp + 0xb8], ebx
test edx, 0x700000
jne 0x67ff51
mov eax, dword [ecx + 8]
jmp 0x67ff53
mov eax, edx
and eax, 0x700000
cmp eax, 0x300000
ja 0x67ffb0
je 0x67ffa9
cmp eax, ebx
je 0x67ffa9
cmp eax, 0x100000
je 0x67ffa2
cmp eax, 0x200000
jne 0x67ff0b
mov eax, 0xa
mov dword [esp + 0x70], ebx
cmp eax, 0xff
jle 0x67ffd6
mov ebx, eax
sar ebx, 8
mov byte [esp + 0x84], bl
mov dword [esp + 0x74], 2
mov byte [esp + 0x85], al
xor ebx, ebx
jmp 0x67ffe5
mov eax, 0xd
jmp 0x67ff78
mov eax, 0xd0a
jmp 0x67ff78
cmp eax, 0x400000
je 0x67ffcc
cmp eax, 0x500000
jne 0x67ff0b
mov dword [esp + 0x70], 2
jmp 0x67ffe5
mov dword [esp + 0x70], 1
jmp 0x67ffe5
mov dword [esp + 0x74], 1
mov byte [esp + 0x84], al
cmp dword [esp + 0xd4], ebx
je 0x680000
test byte [ecx + 0xc], 1
je 0x680000
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, 0x2000
jne 0x680097
movzx eax, word [edi]
mov edx, 0xdc00
cmp ax, dx
jb 0x680050
mov edx, 0xdfff
cmp ax, dx
ja 0x680050
cmp dword [ebp + 0x20], 2
jl 0x680035
mov eax, dword [ebp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], 0xffffffff
xor eax, eax
cmp dword [esp + 0xd4], 1
setle al
dec eax
and eax, 0xfffffff1
add eax, 0xfffffff6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
cmp eax, ebx
jle 0x680097
cmp eax, dword [ebp + 0x10]
jge 0x680097
movzx eax, word [esi - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x680097
mov edx, 0xdbff
cmp ax, dx
ja 0x680097
movzx eax, word [esi]
mov edx, 0xdc00
cmp ax, dx
jb 0x680097
mov edx, 0xdfff
cmp ax, dx
ja 0x680097
mov eax, 0xfffffff5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x55555556
imul dword [ebp + 0x20]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebx, [eax + eax*2]
movzx eax, word [ecx + 0x12]
mov dword [esp + 0x44], ebx
test ax, ax
je 0x680101
mov ecx, eax
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x680101
lea ebx, [ecx + ecx*2 + 3]
lea ecx, [ebx*4]
push ecx
mov dword [esp + 0x48], ebx
call dword [fcn.004bf358]
mov edi, eax
add esp, 4
mov dword [esp + 0x64], edi
test edi, edi
jne 0x6800f7
lea eax, [edi - 6]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], 1
jmp 0x680108
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x64], edi
lea ecx, [ebx + ebx]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
or edx, 0xffffffff
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x90], 0
mov dword [esp + 0xdc], edx
test edi, edi
je 0x680176
mov ecx, dword [esp + 0x18]
movzx ecx, word [ecx + 0x10]
add ecx, ecx
lea eax, [edi + ebx*4]
lea ebx, [ecx + ecx]
mov ecx, eax
sub ecx, ebx
lea ebx, [edi + 8]
cmp ecx, ebx
jae 0x680157
mov ecx, ebx
sub eax, 4
cmp eax, ecx
jb 0x68016d
mov edi, edi
mov dword [eax], edx
sub eax, 4
cmp eax, ecx
jae 0x680160
mov edi, dword [esp + 0x64]
mov dword [edi + 4], edx
mov eax, dword [esp + 0x64]
mov dword [eax], edx
cmp dword [esp + 0x3c], 0
jne 0x6801d2
mov edx, dword [esp + 0x18]
test byte [edx + 0xc], 2
je 0x6801b4
movzx eax, word [edx + 0x14]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x54], eax
je 0x6801d6
mov eax, dword [esp + 0x88]
movzx ecx, byte [eax + ecx]
mov dword [esp + 0x20], ecx
jmp 0x6801d6
cmp dword [esp + 0x34], 0
jne 0x6801d2
mov eax, dword [esp + 0x24]
test eax, eax
je 0x6801d2
test byte [eax + 4], 1
je 0x6801d2
add eax, 8
mov dword [esp + 0x2c], eax
jmp 0x6801d6
mov edx, dword [esp + 0x18]
test byte [edx + 0xc], 4
je 0x68020a
mov edx, dword [esp + 0x18]
movzx eax, word [edx + 0x16]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
movzx ecx, byte [eax + ecx + 0x100]
mov dword [esp + 0x48], ecx
mov eax, dword [ebp + 0x18]
and eax, 0x4000000
mov dword [esp + 0x100], eax
cmp dword [esp + 0x38], 0
mov ecx, dword [esp + 0x1c]
mov ebx, ecx
mov dword [esp + 0x14], ebx
je 0x6802a8
mov eax, dword [esp + 0xc4]
mov ecx, esi
cmp esi, eax
jae 0x6802a4
mov edx, dword [esp + 0x74]
jmp 0x680240
mov edi, dword [esp + 0x70]
test edi, edi
je 0x680268
push 1
push edi
lea edi, [esp + 0x7c]
call fcn.00680be0
add esp, 8
test eax, eax
jne 0x6802a4
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0x74]
jmp 0x680297
lea edi, [edx + edx]
mov ebx, eax
sub ebx, edi
cmp ecx, ebx
ja 0x680293
movzx edi, byte [esp + 0x84]
cmp word [ecx], di
jne 0x680293
cmp edx, 1
je 0x6802a0
movzx edi, byte [esp + 0x85]
cmp word [ecx + 2], di
je 0x6802a0
mov ebx, dword [esp + 0x14]
add ecx, 2
cmp ecx, eax
jb 0x680240
jmp 0x6802a4
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
or eax, dword [ebp + 0x18]
test eax, 0x4000000
jne 0x6804c8
cmp dword [esp + 0x20], 0
jl 0x680329
cmp dword [esp + 0x54], 0
je 0x6802fd
cmp esi, ecx
jae 0x6804c8
mov eax, dword [esp + 0x88]
lea ebx, [ebx]
movzx edx, word [esi]
movzx edx, byte [edx + eax]
cmp edx, dword [esp + 0x20]
je 0x6804c8
add esi, 2
cmp esi, ecx
jb 0x6802e0
jmp 0x6804c8
cmp esi, ecx
jae 0x6804c8
jmp 0x680310
movzx eax, word [esi]
cmp eax, dword [esp + 0x20]
je 0x6804c8
add esi, 2
cmp esi, ecx
jb 0x680310
jmp 0x6804c8
cmp dword [esp + 0x34], 0
je 0x680444
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0xc0]
lea edx, [eax + edx*2]
cmp esi, edx
jbe 0x6804c8
cmp esi, ecx
jae 0x68040b
cmp dword [esp + 0x70], 0
je 0x68038b
cmp esi, dword [esp + 0xc0]
jbe 0x6803c3
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xc0]
push eax
mov eax, dword [esp + 0x14]
lea edi, [esp + 0x78]
call fcn.00680cb0
mov esi, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x68040b
jmp 0x6803c3
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0xc0]
lea ecx, [edx + edx]
add eax, ecx
cmp esi, eax
jb 0x6803c3
mov eax, esi
sub eax, ecx
movzx ecx, byte [esp + 0x84]
cmp word [eax], cx
jne 0x6803c3
cmp edx, 1
je 0x68040b
movzx edx, byte [esp + 0x85]
cmp word [eax + 2], dx
je 0x68040b
movzx eax, word [esi + 2]
add esi, 2
mov ecx, 0xdc00
mov dword [esp + 0x10], esi
cmp ax, cx
jb 0x680401
mov edx, 0xdfff
cmp ax, dx
ja 0x680401
movzx eax, word [esi - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x680401
mov edx, 0xdbff
cmp ax, dx
ja 0x680401
add esi, 2
mov dword [esp + 0x10], esi
cmp esi, dword [esp + 0x1c]
jb 0x680351
cmp word [esi - 2], 0xd
jne 0x6804c8
mov eax, dword [esp + 0x70]
cmp eax, 1
je 0x680428
cmp eax, 2
jne 0x6804c8
cmp esi, dword [esp + 0x1c]
jae 0x6804c8
cmp word [esi], 0xa
jne 0x6804c8
add esi, 2
jmp 0x6804c8
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x6804c8
xor eax, eax
cmp byte [edi + 0x1f], al
setne al
mov edi, eax
cmp esi, ecx
jae 0x6804c8
movzx eax, word [esi]
cmp eax, 0x7f
jbe 0x680466
mov eax, edi
jmp 0x68048a
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x2c]
shr eax, 3
mov al, byte [eax + ecx]
mov ecx, dword [esp + 0x1c]
test al, dl
mov eax, 0
sete al
test eax, eax
je 0x6804c8
movzx eax, word [esi + 2]
add esi, 2
mov edx, 0xdc00
cmp ax, dx
jb 0x6804c4
mov edx, 0xdfff
cmp ax, dx
ja 0x6804c4
movzx eax, word [esi - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x6804c4
mov edx, 0xdbff
cmp ax, dx
ja 0x6804c4
add esi, 2
cmp esi, ecx
jb 0x68045a
cmp dword [esp + 0x100], 0
mov dword [esp + 0x1c], ebx
jne 0x680573
cmp dword [esp + 0xd4], 0
jne 0x680573
mov eax, dword [esp + 0x24]
test eax, eax
je 0x680501
test byte [eax + 4], 2
je 0x680501
mov ecx, ebx
sub ecx, esi
sar ecx, 1
cmp ecx, dword [eax + 0x28]
jb 0x680548
mov edx, dword [esp + 0x40]
test edx, edx
js 0x680573
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 0x7d0
jge 0x680573
xor ecx, ecx
cmp dword [esp + 0x20], ecx
setge cl
lea eax, [esi + ecx*2]
cmp eax, dword [esp + 0x50]
jbe 0x680573
cmp dword [esp + 0x4c], 0
je 0x68054f
cmp eax, ebx
jae 0x680548
movzx ecx, word [eax]
add eax, 2
cmp ecx, edx
je 0x680568
cmp ecx, dword [esp + 0x48]
je 0x680568
cmp eax, ebx
jb 0x680534
xor ebx, ebx
jmp 0x68072d
cmp eax, ebx
jae 0x680548
movzx ecx, word [eax]
add eax, 2
cmp ecx, edx
je 0x680568
cmp eax, ebx
jb 0x680553
xor ebx, ebx
jmp 0x68072d
sub eax, 2
cmp eax, ebx
jae 0x680548
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xbc]
xor edi, edi
push edi
push edi
lea edx, [esp + 0x60]
push edx
push 2
push edi
push esi
push eax
push esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x104], edi
mov dword [esp + 0xf8], edi
call fcn.00677120
add esp, 0x20
mov ebx, eax
cmp dword [esp + 0xb4], edi
je 0x6805cd
cmp dword [esp + 0x28], edi
jne 0x6805cd
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x28], ecx
cmp ebx, 0xfffffc1e
jg 0x6805f8
je 0x6805eb
cmp ebx, 0xfffffc1a
je 0x680548
cmp ebx, 0xfffffc1d
jmp 0x68060e
mov ecx, dword [esp + 0xc8]
cmp ecx, esi
je 0x680614
jmp 0x68064e
cmp ebx, 0xfffffc1f
jl 0x680720
cmp ebx, 0xfffffc20
jle 0x680614
cmp ebx, edi
jne 0x680720
movzx eax, word [esi + 2]
lea ecx, [esi + 2]
mov edx, 0xdc00
mov dword [esp + 0x10], ecx
cmp ax, dx
jb 0x680652
mov edx, 0xdfff
cmp ax, dx
ja 0x680652
movzx eax, word [ecx - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x680652
mov edx, 0xdbff
cmp ax, dx
ja 0x680652
add ecx, 2
mov dword [esp + 0x10], ecx
xor ebx, ebx
cmp dword [esp + 0x38], edi
je 0x6806c7
cmp dword [esp + 0x70], edi
je 0x680693
cmp esi, dword [esp + 0xc4]
jae 0x6806c7
mov eax, dword [esp + 0x70]
push 1
push eax
mov eax, dword [esp + 0xcc]
lea edi, [esp + 0x7c]
mov ecx, esi
call fcn.00680be0
add esp, 8
test eax, eax
jne 0x68072d
mov ecx, dword [esp + 0x10]
jmp 0x6806c7
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xc4]
lea edx, [eax + eax]
sub edi, edx
cmp esi, edi
ja 0x6806c7
movzx edx, byte [esp + 0x84]
cmp word [esi], dx
jne 0x6806c7
cmp eax, 1
je 0x68072d
movzx eax, byte [esp + 0x85]
cmp word [esi + 2], ax
je 0x68072d
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x3c], ebx
jne 0x68072d
mov eax, dword [esp + 0x14]
cmp ecx, eax
ja 0x68072d
cmp word [ecx - 2], 0xd
jne 0x680710
cmp ecx, eax
jae 0x680710
cmp word [ecx], 0xa
jne 0x680710
mov edx, dword [esp + 0x18]
test byte [edx + 0xc], 0x20
jne 0x680710
mov eax, dword [esp + 0x70]
cmp eax, 1
je 0x680709
cmp eax, 2
je 0x680709
cmp dword [esp + 0x74], 2
jne 0x680710
add ecx, 2
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x10]
mov dword [esp + 0xf8], ebx
jmp 0x680219
cmp ebx, 1
je 0x680791
cmp ebx, 0xfffffc19
je 0x680791
cmp dword [esp + 0x30], 0
je 0x680742
mov eax, dword [esp + 0x64]
push eax
call dword [fcn.004bf35c]
add esp, 4
test ebx, ebx
je 0x68074f
cmp ebx, 0xfffffff4
jne 0x68087f
mov eax, dword [esp + 0x28]
test eax, eax
je 0x680789
cmp dword [ebp + 0x20], 1
mov dword [esp + 0xf8], 0
jle 0x68077f
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
sub eax, edx
sar eax, 1
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
sub eax, edx
sar eax, 1
mov dword [ecx + 4], eax
mov ebx, 0xfffffff4
jmp 0x680867
or ebx, 0xffffffff
jmp 0x680867
cmp dword [esp + 0x30], edi
mov edi, dword [ebp + 0x20]
je 0x6807dc
mov esi, dword [esp + 0x64]
cmp edi, 4
jl 0x6807be
mov eax, dword [ebp + 0x1c]
lea ecx, [edi*4 - 8]
push ecx
lea edx, [esi + 8]
push edx
add eax, 8
push eax
call fcn.006896e0
add esp, 0xc
cmp dword [esp + 0xd8], edi
jle 0x6807d2
mov dword [esp + 0x90], 1
push esi
call dword [fcn.004bf35c]
add esp, 4
cmp dword [esp + 0x90], 0
mov esi, dword [esp + 0xd8]
je 0x6807f1
xor ebx, ebx
jmp 0x6807fa
mov eax, esi
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
mov ecx, dword [esp + 0x18]
movzx ecx, word [ecx + 0x10]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp eax, ecx
jg 0x680838
cmp dword [ebp + 0x1c], 0
je 0x680838
lea eax, [ecx + ecx + 2]
cmp eax, edi
jle 0x68081f
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 0x1c]
lea edi, [ecx + esi*4]
lea ecx, [ecx + eax*4]
cmp edi, ecx
jae 0x680838
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
cmp dword [ebp + 0x20], 2
jge 0x680842
xor ebx, ebx
jmp 0x680867
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc8]
mov eax, dword [ebp + 0x1c]
sub edx, ecx
sar edx, 1
mov dword [eax], edx
mov edx, dword [esp + 0xcc]
sub edx, ecx
sar edx, 1
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
test eax, eax
je 0x68087f
test byte [eax], 0x20
je 0x68087f
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0xf8]
mov dword [eax], ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffe8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret