Function at 0x406eb0
Capabilities:
Check for time delay via gettickcount
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f34aa
mov eax, dword fs:[0]
push eax
mov eax, 0x245c
call fcn.004b3f40
mov eax, dword [0x52de04]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
xor esi, esi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x244c], ecx
mov dword [ebp - 0x23b0], edi
mov dword [ebp - 0x2408], 0
mov dword [ebp - 0x23f8], esi
mov dword [ebp - 0x23e4], esi
mov dword [ebp - 0x2410], esi
mov dword [ebp - 0x241c], esi
mov dword [ebp - 0x2418], esi
mov dword [ebp - 0x2414], esi
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x2434], eax
mov dword [ebp - 0x2440], eax
mov dword [ebp - 0x243c], eax
mov dword [ebp - 0x2420], eax
mov dword [ebp - 0x2438], eax
push edi
push ecx
mov byte [ebp - 4], 1
call fcn.0040b920
lea eax, [ebp - 0x245c]
push eax
call fcn.004cddd4
push dword [0x668a6c]
mov dword [ebp - 0x245c], eax
mov dword [ebp - 0x2458], edx
call fcn.00412ef0
push eax
push str.MAXNESTINGWIDTH
call fcn.004129d0
add esp, 0x18
test eax, eax
je 0x406f94
cmp byte [eax], 0
je 0x406f94
push eax
call fcn.004cd97e
add esp, 4
push dword [0x668a6c]
call fcn.00412ef0
push eax
push str.PRINTORIGIN
call fcn.004129d0
add esp, 0xc
test eax, eax
je 0x406fc1
cmp byte [eax], 0
je 0x406fc1
push eax
call fcn.004cd97e
add esp, 4
jmp 0x406fc7
mov eax, dword [ebp - 0x2410]
push dword [0x668a6c]
cdq
and edx, 7
add eax, edx
and eax, 0xfffffff8
mov dword [ebp - 0x2410], eax
call fcn.00428a60
mov dword [0x668760], eax
add esp, 4
mov eax, dword [edi]
mov byte [ebp - 0x23d2], 0
mov byte [ebp - 0x23d1], 0
mov eax, dword [eax]
add eax, 8
cmp dword [eax + 0x14], 0x10
jb 0x407006
mov eax, dword [eax]
push 0x4fda68
push eax
call fcn.0041d3a0
mov esi, eax
add esp, 8
lea eax, [ebp - 0x1ba4]
test esi, esi
je 0x407039
push esi
push 0x800
push 1
push eax
call fcn.004c37de
push esi
call fcn.004c35d5
add esp, 0x14
jmp 0x40705d
push 0x800
push 0
push eax
call fcn.004b90a0
add esp, 0xc
mov dword [ebp - 0x1b74], 0x190
mov dword [ebp - 0x1b78], 0x190
mov edx, dword [0x6a3ad4]
xor ecx, ecx
mov edi, dword [ebp - 0x1b7c]
mov eax, dword [ebp - 0x1b94]
mov dword [ebp - 0x23b4], edi
mov dword [ebp - 0x23b8], eax
cmp dword [edx + 0x10], ecx
je 0x4070a4
mov esi, dword [ebp - 0x1a6c]
mov eax, edx
nop word [eax + eax]
cmp dword [eax + 0x14], esi
je 0x4070a4
inc ecx
imul eax, ecx, 0x488
add eax, edx
cmp dword [eax + 0x10], 0
jne 0x407090
imul eax, ecx, 0x488
mov dword [ebp - 0x240c], eax
mov eax, dword [eax + edx + 0x450]
and eax, 0x80
mov dword [ebp - 0x2430], eax
mov eax, dword [ebp - 0x23b0]
cmp dword [eax + 4], 0
je 0x4076ca
mov ecx, dword [0x668650]
mov eax, 0xb60b60b7
mov esi, dword [0x66864c]
sub ecx, esi
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x23b0]
sar edx, 8
mov eax, edx
shr eax, 0x1f
mov edi, dword [ecx + 4]
add eax, edx
mov dword [ebp - 0x23bc], eax
cmp edi, eax
jae 0x407110
imul eax, edi, 0x168
add eax, esi
jmp 0x40715f
jbe 0x407164
mov ecx, dword [0x668654]
mov eax, 0xb60b60b7
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jbe 0x407145
lea eax, [ebp - 0x23bd]
mov ecx, 0x66864c
push eax
push edi
call fcn.00405b60
jmp 0x407164
sub edi, dword [ebp - 0x23bc]
push 0x66864c
push edi
push dword [0x668650]
call fcn.00405cc0
add esp, 0xc
mov dword [0x668650], eax
mov eax, dword [ebp - 0x23b0]
mov dword [0x66875c], 0
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x40b28e
xor edi, edi
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x23d0], edi
mov dword [ebp - 0x23e0], eax
cmp dword [esi + 0x1c], 0x10
lea edi, [esi + 8]
mov edx, edi
jb 0x4071a5
mov edx, dword [edi]
mov eax, dword [ebp - 0x23e0]
imul eax, eax, 0x168
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x23bc], eax
mov eax, dword [ebp - 0x23d0]
cmovb eax, ecx
imul ecx, eax, 0x168
add ecx, dword [0x66864c]
nop word [eax + eax]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x4071d0
mov eax, dword [0x66864c]
add eax, dword [ebp - 0x23bc]
push 0x4fda68
push eax
call fcn.0041d3a0
add esp, 8
mov dword [ebp - 0x23bc], eax
test eax, eax
je 0x407223
push eax
push 0x800
lea eax, [ebp - 0x1ba4]
push 1
push eax
call fcn.004c37de
push dword [ebp - 0x23bc]
call fcn.004c35d5
add esp, 0x14
cmp dword [ebp - 0x1b7c], 8
jl 0x40724e
mov eax, dword [0x6a3ad4]
mov ecx, dword [ebp - 0x240c]
cmp dword [ecx + eax + 0x150], 1
jne 0x40724e
mov eax, dword [ecx + eax + 0x160]
mov dword [ebp - 0x23b8], eax
cmp byte [ebp - 0x1b8f], 0
mov ecx, 0x20
jne 0x407263
movzx ecx, byte [ebp - 0x1b90]
imul eax, dword [0x66875c], 0x168
add eax, dword [0x66864c]
mov dword [eax + 0x134], ecx
cmp dword [edi + 0x14], 0x10
jb 0x407281
mov edi, dword [edi]
lea eax, [ebp - 0x23a8]
push eax
lea eax, [ebp - 0x23ec]
push eax
lea eax, [ebp - 0x2404]
push eax
lea eax, [ebp - 0x2454]
push eax
lea eax, [ebp - 0x242c]
push eax
push edi
call fcn.00404ae0
mov ecx, dword [0x66864c]
add esp, 0x18
test eax, eax
je 0x40738f
movd xmm0, dword [ebp - 0x1b78]
imul edx, dword [0x66875c], 0x168
cvtdq2pd xmm0, xmm0
push 0x4fd8ac
mov byte [ebp - 0x23d2], 1
mulsd xmm0, qword [ebp - 0x242c]
cvttsd2si eax, xmm0
mov dword [ecx + edx + 0x108], eax
movd xmm0, dword [ebp - 0x1b74]
mov ecx, dword [0x66864c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x2454]
cvttsd2si eax, xmm0
mov dword [ecx + edx + 0x10c], eax
call fcn.0041c8c0
push eax
push str.REPEATINPRINTER
call fcn.00412960
add esp, 0xc
test eax, eax
je 0x407387
movsd xmm0, qword [ebp - 0x2404]
divsd xmm0, qword [0x4fdcc0]
push dword [ebp - 0x1b98]
push dword [ebp - 0x23a8]
push dword [ebp - 0x23ec]
sub esp, 8
movsd qword [esp], xmm0
call fcn.004042d0
mov edi, dword [0x66875c]
add esp, 0x14
imul ecx, edi, 0x168
add ecx, dword [0x66864c]
cmp eax, dword [ecx + 0x10c]
jge 0x40737e
mov dword [ecx + 0x10c], eax
mov byte [ebp - 0x23d1], 1
jmp 0x4073bb
mov edi, dword [0x66875c]
jmp 0x4073bb
mov edi, dword [0x66875c]
mov eax, dword [ebp - 0x1b9c]
imul edx, edi, 0x168
mov dword [ecx + edx + 0x108], eax
mov ecx, dword [0x66864c]
mov eax, dword [ebp - 0x1b98]
mov dword [ecx + edx + 0x10c], eax
mov ecx, dword [0x66864c]
mov eax, dword [esi + 0x20]
imul edx, edi, 0x168
mov dword [ebp - 0x23e8], edx
mov dword [ecx + edx + 0x100], eax
mov ecx, dword [0x66864c]
mov eax, dword [esi + 0x24]
mov dword [ecx + edx + 0x104], eax
mov eax, 0x10624dd3
mov ecx, dword [ebp - 0x15c0]
imul ecx, dword [ebp - 0x1b78]
mov edi, dword [0x66864c]
imul ecx
mov ecx, dword [ebp - 0x23e8]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + ecx + 0x114], eax
mov eax, 0x10624dd3
mov ecx, dword [ebp - 0x15bc]
imul ecx, dword [ebp - 0x1b74]
mov edi, dword [0x66864c]
imul ecx
mov ecx, dword [ebp - 0x23e8]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + ecx + 0x118], eax
mov eax, 0x10624dd3
mov ecx, dword [ebp - 0x15b8]
imul ecx, dword [ebp - 0x1b78]
mov edi, dword [0x66864c]
imul ecx
mov ecx, dword [ebp - 0x23e8]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + ecx + 0x11c], eax
mov eax, 0x10624dd3
mov ecx, dword [ebp - 0x15b4]
imul ecx, dword [ebp - 0x1b74]
mov edi, dword [0x66864c]
imul ecx
mov ecx, dword [ebp - 0x23e8]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + ecx + 0x120], eax
mov edi, ecx
mov edx, dword [0x66864c]
mov eax, dword [edx + edi + 0x10c]
add eax, 2
add eax, dword [edx + edi + 0x104]
cmp byte [0x52a401], 0
mov dword [edx + edi + 0x110], eax
je 0x407507
push dword [0x668a6c]
mov byte [0x52a401], 0
push dword [ebp - 0x1b74]
call fcn.00429d90
mov dword [0x668764], eax
add esp, 8
imul eax, dword [ebp - 0x1b78]
cdq
idiv dword [ebp - 0x1b74]
mov dword [0x668768], eax
imul ecx, dword [0x66875c], 0x168
lea edx, [ebp - 0x914]
add ecx, dword [0x66864c]
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x407520
lea ecx, [ebp - 0x914]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407536
sub ecx, edx
mov byte [ebp + ecx - 0x918], al
lea ecx, [ebp - 0x914]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407550
sub ecx, edx
lea ecx, [ebp + ecx - 0x918]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x407561
mov eax, dword [str..annotation]
mov dword [ecx], eax
mov eax, dword [0x4fe03c]
mov dword [ecx + 4], eax
mov eax, dword [0x4fe040]
mov dword [ecx + 8], eax
lea eax, [ebp - 0x914]
push 0x4fda68
push eax
call fcn.0041d3a0
add esp, 8
mov dword [ebp - 0x23bc], eax
test eax, eax
je 0x407675
cmp byte [ebp - 0x23d1], 0
jne 0x407675
cmp dword [ebp - 0x2430], 0
jne 0x407675
mov ecx, dword [ebp - 0x1b7c]
push eax
push 0x800
lea eax, [ebp - 0x1ba4]
mov dword [ebp - 0x23d0], ecx
push 1
push eax
call fcn.004c37de
movd xmm1, dword [ebp - 0x1b98]
movd xmm0, dword [ebp - 0x1b74]
cvtdq2pd xmm1, xmm1
mov eax, dword [0x66864c]
mov ecx, dword [0x668764]
cvtdq2pd xmm0, xmm0
imul edi, dword [0x66875c], 0x168
divsd xmm1, xmm0
push dword [ebp - 0x23bc]
movsd qword [eax + edi + 0x158], xmm1
mov eax, dword [ebp - 0x1b98]
mov edx, dword [0x66864c]
lea eax, [eax + ecx*2]
add dword [edx + edi + 0x110], eax
call fcn.004c35d5
mov edx, dword [ebp - 0x1b7c]
add esp, 0x14
mov ecx, dword [ebp - 0x23d0]
cmp ecx, edx
je 0x407692
imul eax, dword [0x66875c], 0x168
push edx
lea edx, [ebp - 0x914]
push edx
push ecx
add eax, dword [0x66864c]
push eax
push str.Error_in_print_spooler_n_n_s____bitsPerChannel___d_n_n_s____bitsPerChannel___d
call fcn.004153c0
add esp, 0x14
jmp 0x407692
imul ecx, dword [0x66875c], 0x168
mov eax, dword [0x668764]
add eax, eax
add ecx, dword [0x66864c]
add dword [ecx + 0x110], eax
mov ecx, dword [0x66875c]
mov eax, dword [esi]
inc ecx
mov edx, ecx
mov dword [0x66875c], ecx
mov dword [ebp - 0x23e0], edx
mov esi, eax
mov edx, dword [ebp - 0x23b0]
mov dword [ebp - 0x23d0], ecx
cmp eax, dword [edx]
je 0x4076c2
mov eax, ecx
jmp 0x407192
mov edi, dword [ebp - 0x23b4]
jmp 0x4076dd
push str.printspooler___this_should_never_execute
call fcn.004153c0
mov ecx, dword [0x66875c]
add esp, 4
test ecx, ecx
jle 0x40b28e
call fcn.00406910
push dword [0x66875c]
mov esi, eax
lea eax, [ebp - 0x2464]
push esi
push dword [0x668a6c]
push eax
lea eax, [ebp - 0x2424]
push eax
lea eax, [ebp - 0x23cc]
push eax
lea eax, [ebp - 0x2410]
push eax
call fcn.00429010
push esi
call fcn.00417300
mov eax, dword [0x6a3ad4]
mov ecx, 1
add eax, dword [ebp - 0x240c]
push eax
cmp dword [eax + 0x150], ecx
cmove edi, ecx
mov dword [ebp - 0x23b4], edi
call fcn.00404a70
push dword [0x668a6c]
lea eax, [ebp - 0x1a64]
push eax
call fcn.0048b500
add esp, 0x2c
test eax, eax
je 0x40b28e
push dword [ebp - 0x1a6c]
push dword [0x668a6c]
call fcn.004289d0
push 0
mov dword [ebp - 0x23ac], eax
lea eax, [ebp - 0x23c8]
push 0
push eax
lea eax, [ebp - 0x23fc]
push eax
push dword [0x668a6c]
call fcn.00412fc0
push dword [0x668a6c]
call fcn.00428a60
push dword [0x668a6c]
mov dword [0x668760], eax
call fcn.00412ef0
push eax
push str.WIDTHOVERRIDE
call fcn.004129d0
mov esi, eax
add esp, 0x2c
test esi, esi
je 0x4077e7
cmp byte [esi], 0
je 0x4077e7
push esi
call fcn.004cd97e
add esp, 4
cmp eax, 1
jle 0x4077e7
push esi
call fcn.004cd97e
add esp, 4
mov dword [ebp - 0x23ac], eax
mov eax, dword [ebp - 0x1a6c]
add eax, 0xffffff06
cmp eax, 0x31
ja 0x407801
mov dword [0x668880], 1
push 0x668658
call fcn.0041c8c0
push eax
call fcn.0041d4f0
add esp, 8
cmp dword [0x66875c], 0
je 0x40b28e
push dword [0x668a6c]
call fcn.00412ef0
push eax
push str.ANNOTATEPRINTS
call fcn.00412960
add esp, 0xc
test eax, eax
setne byte [ebp - 0x23bd]
cmp byte [ebp - 0x23d1], 0
jne 0x407855
cmp dword [ebp - 0x2430], 0
je 0x40785c
mov byte [ebp - 0x23bd], 0
push dword [0x668a6c]
xorps xmm0, xmm0
lea eax, [ebp - 0x1344]
push eax
movsd qword [ebp - 0x2404], xmm0
movsd qword [ebp - 0x2448], xmm0
call fcn.00429f70
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 2
jb 0x407890
mov eax, dword [eax]
push dword [ebp - 0x244c]
push eax
lea eax, [ebp - 0x132c]
push str._s_w_07d
push eax
call fcn.00415150
add esp, 0x10
lea ecx, [ebp - 0x1344]
mov byte [ebp - 4], 4
call fcn.004025c0
cmp dword [ebp - 0x1318], 0x10
lea eax, [ebp - 0x132c]
cmovae eax, dword [ebp - 0x132c]
push eax
push str.SHAPENEST
call fcn.004129d0
mov esi, eax
add esp, 8
test esi, esi
je 0x40798f
cmp byte [esi], 0
je 0x40798f
mov byte [0x668648], 1
movsx ecx, byte [esi]
push ecx
call fcn.004cdb10
add esp, 4
test eax, eax
jne 0x407920
cmp byte [esi], 0x2e
je 0x407920
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00405cf0
call fcn.0040b2c0
add esp, 0x18
jmp 0x40792f
push esi
call fcn.004ccd89
fstp qword [0x52a028]
add esp, 4
push 0x4fd8ac
call fcn.0041c8c0
push eax
push str.TESTSHAPENESTCOUNT
call fcn.00412900
xor ecx, ecx
test eax, eax
cmovns ecx, eax
lea eax, [ebp - 0x13a4]
inc ecx
push ecx
push 0x4fe110
push eax
call fcn.00415150
mov esi, eax
add esp, 0x18
cmp dword [esi + 0x14], 0x10
jb 0x40796b
mov esi, dword [esi]
push 0x4fd8ac
call fcn.0041c8c0
push eax
push esi
push str.TESTSHAPENESTCOUNT
call fcn.0041f8f0
add esp, 0x10
lea ecx, [ebp - 0x13a4]
call fcn.004025c0
cmp byte [0x668648], 0
je 0x407a26
cmp dword [ebp - 0x1318], 0x10
lea eax, [ebp - 0x132c]
cmovae eax, dword [ebp - 0x132c]
push eax
push str.MINWIDTH
call fcn.004129d0
add esp, 8
test eax, eax
je 0x4079e1
push eax
call fcn.004ccd89
fstp qword [ebp - 0x242c]
movsd xmm0, qword [ebp - 0x242c]
add esp, 4
movsd qword [ebp - 0x2404], xmm0
cmp dword [ebp - 0x1318], 0x10
lea eax, [ebp - 0x132c]
cmovae eax, dword [ebp - 0x132c]
push eax
push str.MINHEIGHT
call fcn.004129d0
add esp, 8
test eax, eax
je 0x407a26
push eax
call fcn.004ccd89
fstp qword [ebp - 0x242c]
movsd xmm0, qword [ebp - 0x242c]
add esp, 4
movsd qword [ebp - 0x2448], xmm0
lea ecx, [ebp - 0x132c]
mov byte [ebp - 4], 1
call fcn.004025c0
xor edi, edi
mov dword [ebp - 0x23d0], edi
cmp dword [0x66875c], edi
jle 0x407ba1
xor esi, esi
mov dword [ebp - 0x23e8], esi
mov ecx, dword [0x66864c]
add ecx, esi
mov esi, dword [ecx + 0x104]
add esi, dword [ecx + 0x10c]
cmp byte [ebp - 0x23bd], 0
je 0x407b4b
lea edx, [ebp - 0x218]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x407a78
lea ecx, [ebp - 0x218]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407a90
movq xmm0, qword [str.annotation]
sub ecx, edx
push 0
movq qword [ebp + ecx - 0x21b], xmm0
mov ax, word [0x4fe134]
mov word [ebp + ecx - 0x213], ax
mov al, byte [0x4fe136]
mov byte [ebp + ecx - 0x211], al
mov eax, dword [0x66864c]
mov ecx, dword [ebp - 0x23e8]
mov dword [eax + ecx + 0x140], 0xffffffff
lea eax, [ebp - 0x218]
push eax
call fcn.0041d2e0
add esp, 8
test eax, eax
jne 0x407b4b
lea eax, [ebp - 0x218]
push 0x4fda68
push eax
call fcn.0041d3a0
add esp, 8
mov dword [ebp - 0x23bc], eax
test eax, eax
je 0x407b4b
push eax
push 0x800
lea eax, [ebp - 0x23a4]
push 1
push eax
call fcn.004c37de
mov eax, dword [0x66864c]
mov ecx, dword [ebp - 0x23e8]
add esi, dword [ebp - 0x2398]
push dword [ebp - 0x23bc]
mov dword [eax + ecx + 0x140], 0
call fcn.004c35d5
add esp, 0x14
cmp dword [ebp - 0x23e4], esi
mov eax, dword [0x66864c]
cmovg esi, dword [ebp - 0x23e4]
mov dword [ebp - 0x23e4], esi
mov esi, dword [ebp - 0x23e8]
mov ecx, dword [eax + esi + 0x100]
add ecx, dword [eax + esi + 0x108]
mov eax, dword [ebp - 0x23d0]
cmp edi, ecx
cmovl edi, ecx
inc eax
add esi, 0x168
mov dword [ebp - 0x23d0], eax
mov dword [ebp - 0x23e8], esi
cmp eax, dword [0x66875c]
jl 0x407a51
cmp byte [0x668648], 0
je 0x407bf7
movsd xmm1, qword [ebp - 0x2404]
xorps xmm2, xmm2
comisd xmm1, xmm2
jbe 0x407bcf
movd xmm0, dword [ebp - 0x1b78]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si edi, xmm0
movsd xmm1, qword [ebp - 0x2448]
comisd xmm1, xmm2
jbe 0x407bf7
movd xmm0, dword [ebp - 0x1b74]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x23e4], eax
add edi, dword [ebp - 0x2410]
call fcn.0048c9d0
cmp byte [ebp - 0x23d1], 0
jne 0x407c7c
push dword [0x668a6c]
call fcn.00412ef0
push eax
push str.ALIGNMENTMARKS
call fcn.00412900
add esp, 0xc
test eax, eax
jne 0x407c49
push dword [0x668a6c]
call fcn.00412ef0
push eax
push str.REGISTERMARKS
call fcn.00412900
add esp, 0xc
test eax, eax
je 0x407c7c
push dword [ebp - 0x23b4]
push dword [0x668a6c]
call fcn.00491530
push dword [ebp - 0x1b74]
push dword [ebp - 0x1b78]
push 0x20
push 2
push dword [0x668764]
push 0
call fcn.00420890
add esp, 0x20
jmp 0x407c86
mov dword [0x668764], 0
push dword [0x668a6c]
call fcn.00412de0
imul eax, eax, 0x488
add eax, dword [0x6a3ad4]
push eax
push dword [ebp - 0x23b8]
call fcn.00428ed0
mov esi, dword [0x66875c]
add esp, 0xc
test esi, esi
jle 0x407cf2
xor edx, edx
nop dword [eax + eax]
cmp byte [0x668968], 0
lea edx, [edx + 0x168]
mov ecx, dword [0x66864c]
mov eax, 0x668968
mov dword [ebp - 0x23bc], 0
cmove eax, dword [ebp - 0x23bc]
mov dword [ecx + edx - 8], eax
sub esi, 1
jne 0x407cc0
mov eax, dword [0x668764]
mov ecx, dword [ebp - 0x23e4]
push dword [0x668a6c]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x23c4], eax
call fcn.00412ef0
push eax
push str.FULLLENGTHCROPMARKS
call fcn.00412960
push dword [0x668a6c]
mov dword [0x668770], eax
call fcn.00412ef0
push eax
push str.CUTTINGZEROMARK
call fcn.00412960
push dword [0x668a6c]
mov esi, eax
call fcn.00412de0
push dword [0x668a6c]
imul ecx, eax, 0x488
xor edx, edx
mov eax, dword [0x6a3ad4]
mov dword [ebp - 0x23e4], ecx
cmp dword [ecx + eax + 0x2ac], edx
cmove edx, esi
mov dword [ebp - 0x2430], edx
call fcn.00412ef0
push eax
push str.CUTMARKSTYLE
call fcn.004129d0
push eax
call fcn.0041fef0
push dword [0x668a6c]
mov esi, eax
push dword [ebp - 0x1b74]
mov dword [ebp - 0x23bc], esi
call fcn.00429610
push dword [0x668a6c]
mov dword [ebp - 0x23e8], eax
push dword [ebp - 0x1b78]
call fcn.00429610
add esp, 0x3c
mov dword [ebp - 0x23d0], eax
cmp dword [ebp - 0x2430], 0
mov dword [ebp - 0x2460], 0
mov dword [ebp - 0x2468], 0
je 0x407e4a
cmp dword [ebp - 0x2464], eax
mov edx, eax
cmovg edx, dword [ebp - 0x2464]
add edi, edx
mov dword [ebp - 0x23ec], edi
lea eax, [edi + 7]
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x23b0], eax
lea eax, [ebp - 0x2468]
push eax
lea eax, [ebp - 0x2460]
push eax
push dword [ebp - 0x23e8]
push dword [ebp - 0x23c4]
push dword [ebp - 0x1b74]
push esi
push dword [0x668a6c]
call fcn.00420420
mov ecx, dword [ebp - 0x23b0]
add esp, 0x1c
mov dword [ebp - 0x23a8], eax
jmp 0x407e7a
add edi, dword [ebp - 0x2464]
mov dword [ebp - 0x23ec], edi
mov dword [ebp - 0x23a8], 0
lea eax, [edi + 7]
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
lea ecx, [edx + eax]
sar ecx, 3
mov dword [ebp - 0x23b0], ecx
xor esi, esi
cmp dword [ebp - 0x23b8], esi
jle 0x407f6f
cmp byte [ebp - 0x23d2], 0
mov edi, dword [ebp - 0x23b4]
je 0x407f06
nop word [eax + eax]
mov eax, dword [0x668760]
imul eax, edi
add eax, 7
mov eax, eax
test eax, eax
jns 0x407eb4
add eax, 7
sar eax, 3
add ecx, eax
lea eax, [ecx + 0x100]
mov dword [ebp - 0x23e0], eax
cmp edi, 8
jne 0x407ed7
lea eax, [ecx*2 + 0x200]
mov dword [ebp - 0x23e0], eax
push eax
call fcn.00417230
push dword [ebp - 0x23e0]
mov dword [ebp + esi*4 - 0x1194], eax
push 0
push eax
call fcn.004b90a0
mov ecx, dword [ebp - 0x23b0]
inc esi
add esp, 0x10
cmp esi, dword [ebp - 0x23b8]
jl 0x407ea0
jmp 0x407f69
mov dword [ebp - 0x23e0], esi
nop dword [eax]
mov eax, dword [0x668760]
imul eax, edi
add eax, 7
mov eax, eax
test eax, eax
jns 0x407f24
add eax, 7
sar eax, 3
lea esi, [eax + 0x100]
add esi, ecx
push esi
call fcn.00417230
mov ecx, dword [ebp - 0x23e0]
push esi
push 0
push eax
mov dword [ebp + ecx*4 - 0x1194], eax
call fcn.004b90a0
mov esi, dword [ebp - 0x23e0]
add esp, 0x10
mov ecx, dword [ebp - 0x23b0]
inc esi
mov dword [ebp - 0x23e0], esi
cmp esi, dword [ebp - 0x23b8]
jl 0x407f10
mov edi, dword [ebp - 0x23ec]
mov eax, dword [ebp - 0x1a6c]
mov ecx, 0x31
movd xmm1, dword [ebp - 0x23c4]
add eax, 0xffffff38
cmp ecx, eax
mov dword [ebp + esi*4 - 0x1194], 0
mov esi, dword [ebp - 0x23e4]
sbb eax, eax
inc eax
mov dword [0x66876c], eax
mov eax, dword [ebp - 0x23b4]
mov dword [ebp - 0x1b7c], eax
mov eax, dword [ebp - 0x23b8]
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x1b94], eax
mov eax, dword [0x6a3ad4]
push dword [0x668a6c]
divsd xmm1, qword [esi + eax + 0x40]
movsd qword [ebp - 0x242c], xmm1
movd xmm1, dword [esi + eax + 0x20]
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [esi + eax + 0x40]
movsd qword [ebp - 0x2404], xmm1
call fcn.00412ef0
push eax
push str.MAXNESTINGHEIGHT
call fcn.00412900
mov ecx, dword [0x6a3ad4]
add esp, 0xc
test eax, eax
jle 0x408022
cmp eax, dword [esi + ecx + 0x20]
jge 0x408022
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [esi + ecx + 0x40]
jmp 0x40802a
movsd xmm0, qword [ebp - 0x2404]
movsd xmm1, qword [ebp - 0x242c]
comisd xmm1, xmm0
jbe 0x408048
mulsd xmm0, qword [esi + ecx + 0x40]
cvttsd2si eax, xmm0
mov dword [ebp - 0x23c4], eax
cmp dword [0x66875c], 0
mov dword [ebp - 0x240c], 0
jle 0x4081be
xor ecx, ecx
mov dword [ebp - 0x23e0], ecx
nop word [eax + eax]
cmp byte [ebp - 0x23bd], 0
je 0x408188
add ecx, dword [0x66864c]
lea edx, [ebp - 0x218]
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x408090
lea ecx, [ebp - 0x218]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4080a6
sub ecx, edx
mov byte [ebp + ecx - 0x21c], al
lea eax, [ebp - 0x218]
push eax
push str.ORIGINALJOBNAME
call fcn.004129d0
mov edx, eax
mov dword [ebp - 0x131c], 0
mov ecx, edx
mov dword [ebp - 0x1318], 0
xorps xmm0, xmm0
add esp, 8
movups xmmword [ebp - 0x132c], xmm0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4080f0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x132c]
call fcn.004020f0
cmp dword [ebp - 0x1318], 0x10
lea eax, [ebp - 0x132c]
mov esi, dword [0x66864c]
cmovae eax, dword [ebp - 0x132c]
push eax
push dword [0x668a6c]
mov byte [ebp - 4], 5
call fcn.0042b690
mov ecx, dword [ebp - 0x23e0]
add esp, 8
mov byte [ebp - 4], 1
fstp qword [esi + ecx + 0x158]
mov eax, dword [ebp - 0x1318]
cmp eax, 0x10
jb 0x408199
mov edx, dword [ebp - 0x132c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x408176
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2ab
push ecx
push edx
call fcn.004b3acc
mov ecx, dword [ebp - 0x23e0]
add esp, 8
jmp 0x408199
mov eax, dword [0x66864c]
xorps xmm0, xmm0
movsd qword [eax + ecx + 0x158], xmm0
mov eax, dword [ebp - 0x240c]
add ecx, 0x168
inc eax
mov dword [ebp - 0x23e0], ecx
mov dword [ebp - 0x240c], eax
cmp eax, dword [0x66875c]
jl 0x408070
call fcn.00406910
push dword [0x6a3ad4]
mov esi, eax
push dword [0x668a6c]
push dword [0x66875c]
push esi
call fcn.0048aea0
push esi
call fcn.00417300
movd xmm0, dword [ebp - 0x1b74]
add esp, 0xc
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [0x668a6c]
push dword [ebp - 0x23c4]
call fcn.00404ea0
push 0x4fd8ac
call fcn.0041c8c0
push eax
push str.REPEATPRESPOOL
call fcn.00412960
add esp, 0x1c
test eax, eax
jne 0x408240
push 0x4fd8ac
call fcn.0041c8c0
push eax
push str.REPEATINPRINTER
call fcn.00412960
add esp, 0xc
test eax, eax
je 0x4082a1
xor esi, esi
cmp dword [0x66875c], esi
jle 0x4082a1
xor edi, edi
nop dword [eax]
mov eax, dword [0x66864c]
push 0
push 0
push 0
add eax, edi
push 0
push eax
call fcn.00404c90
add esp, 0x14
test eax, eax
je 0x40828c
mov eax, dword [0x6a3ad4]
add eax, dword [ebp - 0x23e4]
push eax
push dword [0x668764]
push esi
call fcn.00406ce0
add esp, 0xc
call fcn.00403e00
inc esi
add edi, 0x168
cmp esi, dword [0x66875c]
jl 0x408250
mov edi, dword [ebp - 0x23ec]
mov esi, dword [ebp - 0x23fc]
cmp esi, 1
jle 0x40830d
mov ecx, dword [ebp - 0x23c8]
cmp ecx, 1
jle 0x40830d
cmp dword [0x668880], 0
mov edx, edi
je 0x4082cf
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x23cc]
push dword [ebp + 0x14]
add eax, dword [ebp - 0x2424]
push dword [ebp + 0x10]
add eax, dword [ebp - 0x23c4]
push ecx
push esi
push dword [ebp - 0x1b74]
push dword [ebp - 0x1b78]
push eax
push edx
lea eax, [ebp - 0x1ba4]
push 0
push eax
call fcn.00428d10
add esp, 0x2c
jmp 0x40835f
cmp dword [0x668880], 0
mov edx, edi
je 0x408325
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x23cc]
push dword [ebp + 0x14]
add eax, dword [ebp - 0x2424]
push dword [ebp + 0x10]
add eax, dword [ebp - 0x23c4]
push dword [ebp - 0x1b74]
push dword [ebp - 0x1b78]
push eax
push edx
lea eax, [ebp - 0x1ba4]
push 0
push eax
call fcn.0048b990
add esp, 0x24
cmp dword [ebp - 0x2430], 0
je 0x4086cd
mov esi, dword [ebp - 0x23b4]
push esi
call fcn.004207a0
push dword [ebp - 0x1b74]
push dword [ebp - 0x1b78]
push 0x31
push 2
push dword [ebp - 0x23e8]
push dword [ebp - 0x23bc]
call fcn.00420890
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x2410]
sub eax, ecx
mov dword [ebp - 0x23d0], ecx
cdq
mov ecx, edi
and edx, 7
add eax, edx
and eax, 0xfffffff8
mov dword [ebp - 0x240c], eax
cmp esi, 1
jne 0x4083dd
cmp dword [0x668880], 0
je 0x4083d8
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x4083f8
cmp dword [0x668880], 0
je 0x4083f3
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
imul ecx, esi
mov eax, ecx
mov esi, dword [ebp - 0x23d0]
mov ecx, esi
cdq
and edx, 7
add edx, eax
sar edx, 3
cmp dword [ebp - 0x2464], esi
cmovg ecx, dword [ebp - 0x2464]
lea eax, [edx*8]
cdq
idiv dword [ebp - 0x1b7c]
sub eax, ecx
mov ecx, dword [ebp - 0x23cc]
dec eax
cdq
and edx, 7
add eax, edx
and eax, 0xfffffff8
mov dword [ebp - 0x23e0], eax
mov eax, dword [ebp - 0x23e8]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x23b0], eax
mov eax, esi
mov dword [ebp - 0x2400], ecx
cdq
lea ecx, [ebp - 0x241c]
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x240c]
sar esi, 1
add eax, esi
mov dword [ebp - 0x2404], eax
lea eax, [ebp - 0x2404]
push eax
push 0
call fcn.00405a20
mov eax, dword [ebp - 0x23cc]
sub eax, dword [ebp - 0x23b0]
add esi, dword [ebp - 0x23e0]
mov ecx, dword [ebp - 0x2418]
mov edx, dword [ebp - 0x2414]
mov dword [ebp - 0x23f4], esi
mov dword [ebp - 0x23f0], eax
cmp ecx, edx
je 0x4084be
mov dword [ecx], esi
mov dword [ecx + 4], eax
add ecx, 8
mov dword [ebp - 0x2418], ecx
jmp 0x4084dd
lea eax, [ebp - 0x23f4]
push eax
push ecx
lea ecx, [ebp - 0x241c]
call fcn.00405a20
mov ecx, dword [ebp - 0x2418]
mov edx, dword [ebp - 0x2414]
cmp dword [ebp - 0x23a8], 0
je 0x40861b
cmp dword [ebp - 0x23c4], 0
jle 0x40861b
mov eax, dword [ebp - 0x23b0]
mov esi, dword [ebp - 0x23e8]
sub eax, esi
mov dword [ebp - 0x23b8], eax
mov eax, dword [ebp - 0x23c4]
mov edi, eax
mov dword [ebp - 0x23a8], eax
nop dword [eax]
cmp esi, dword [ebp - 0x2460]
jl 0x408605
cmp esi, eax
jg 0x408605
mov eax, esi
cdq
idiv dword [ebp - 0x2460]
test edx, edx
jne 0x4085f9
mov edx, dword [ebp - 0x23b8]
mov eax, dword [ebp - 0x23cc]
add edx, esi
mov edi, dword [ebp - 0x2404]
add eax, edx
mov dword [ebp - 0x2448], edi
mov dword [ebp - 0x2444], eax
cmp ecx, dword [ebp - 0x2414]
je 0x40857f
mov dword [ecx], edi
mov dword [ecx + 4], eax
add ecx, 8
mov dword [ebp - 0x2418], ecx
jmp 0x408598
lea eax, [ebp - 0x2448]
push eax
push ecx
lea ecx, [ebp - 0x241c]
call fcn.00405a20
mov ecx, dword [ebp - 0x2418]
mov edi, dword [ebp - 0x23b8]
mov eax, dword [ebp - 0x23cc]
add edi, esi
mov edx, dword [ebp - 0x2414]
add eax, edi
mov edi, dword [ebp - 0x23f4]
mov dword [ebp - 0x23dc], edi
mov dword [ebp - 0x23d8], eax
cmp ecx, edx
je 0x4085da
mov dword [ecx], edi
mov edi, dword [ebp - 0x23a8]
mov dword [ecx + 4], eax
add ecx, 8
mov dword [ebp - 0x2418], ecx
jmp 0x4085ff
lea eax, [ebp - 0x23dc]
push eax
push ecx
lea ecx, [ebp - 0x241c]
call fcn.00405a20
mov ecx, dword [ebp - 0x2418]
mov edi, dword [ebp - 0x23a8]
mov edx, dword [ebp - 0x2414]
mov eax, dword [ebp - 0x23c4]
inc esi
sub edi, 1
mov dword [ebp - 0x23a8], edi
jne 0x408520
mov edi, dword [ebp - 0x23ec]
mov eax, dword [ebp - 0x23cc]
add eax, dword [ebp - 0x23b0]
add eax, dword [ebp - 0x23c4]
mov dword [ebp - 0x23a8], eax
mov eax, dword [ebp - 0x2404]
mov esi, dword [ebp - 0x23a8]
mov dword [ebp - 0x2404], eax
mov dword [ebp - 0x2400], esi
cmp ecx, edx
je 0x408661
mov dword [ecx], eax
mov eax, esi
mov dword [ecx + 4], eax
add ecx, 8
mov dword [ebp - 0x2418], ecx
jmp 0x408680
lea eax, [ebp - 0x2404]
push eax
push ecx
lea ecx, [ebp - 0x241c]
call fcn.00405a20
mov ecx, dword [ebp - 0x2418]
mov edx, dword [ebp - 0x2414]
mov eax, dword [ebp - 0x23cc]
add eax, dword [ebp - 0x23b0]
add eax, dword [ebp - 0x23c4]
mov esi, dword [ebp - 0x23f4]
mov dword [ebp - 0x2404], esi
mov dword [ebp - 0x2400], eax
cmp ecx, edx
je 0x4086b8
mov dword [ecx], esi
mov dword [ecx + 4], eax
add ecx, 8
mov dword [ebp - 0x2418], ecx
jmp 0x4086e5
lea eax, [ebp - 0x2404]
push eax
push ecx
lea ecx, [ebp - 0x241c]
call fcn.00405a20
jmp 0x4086e5
mov eax, dword [ebp - 0x23f0]
mov dword [ebp - 0x240c], eax
mov eax, dword [ebp - 0x23f0]
mov dword [ebp - 0x23e0], eax
call fcn.00406910
cmp dword [0x668880], 0
mov esi, edi
mov dword [ebp - 0x23a8], eax
je 0x408708
cmp edi, dword [ebp - 0x23ac]
cmovg esi, dword [ebp - 0x23ac]
mov ecx, dword [0x668a6c]
push ecx
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x23f0], esp
push dword [ebp - 0x244c]
push ecx
push eax
call fcn.0042b730
lea eax, [ebp - 0x241c]
mov dword [ebp - 0x2444], esp
mov ecx, esp
mov byte [ebp - 4], 6
push eax
call fcn.00405de0
push dword [0x66875c]
mov eax, dword [ebp - 0x23cc]
push dword [ebp - 0x23a8]
add eax, dword [ebp - 0x2424]
add eax, dword [ebp - 0x23c4]
push eax
push esi
sub esp, 0x18
mov byte [ebp - 4], 7
mov eax, esp
push dword [ebp - 0x244c]
push dword [0x668a6c]
push eax
call fcn.00420620
add esp, 0xc
mov byte [ebp - 4], 1
call fcn.004201d0
push dword [ebp - 0x23a8]
call fcn.00417300
mov al, byte [0x66864a]
add esp, 0x54
test al, al
je 0x4087f3
cmp dword [0x66875c], 0
jle 0x4087f3
mov edi, dword [0x66875c]
xor esi, esi
nop
mov ecx, dword [0x66864c]
lea esi, [esi + 0x168]
mov eax, dword [ebp - 0x23c4]
sub eax, dword [ecx + esi - 0x5c]
sub eax, dword [ecx + esi - 0x64]
mov dword [ecx + esi - 0x64], eax
mov edx, dword [0x66864c]
mov eax, dword [edx + esi - 0x5c]
add eax, 2
add eax, dword [edx + esi - 0x64]
mov dword [edx + esi - 0x58], eax
sub edi, 1
jne 0x4087b0
mov al, byte [0x66864a]
mov edi, dword [ebp - 0x23ec]
cmp byte [0x668649], 0
jne 0x408806
test al, al
je 0x4088a9
jmp 0x40880e
test al, al
jne 0x4088a9
call fcn.00406910
push dword [0x66875c]
mov esi, eax
lea eax, [ebp - 0x23a8]
push esi
push dword [0x668a6c]
push eax
lea eax, [ebp - 0x23f0]
push eax
lea eax, [ebp - 0x2444]
push eax
lea eax, [ebp - 0x23b0]
push eax
call fcn.00429010
push esi
call fcn.00417300
mov esi, dword [0x66875c]
add esp, 0x20
test esi, esi
jle 0x4088a9
xor edx, edx
nop dword [eax + eax]
cmp dword [0x668880], 0
mov ecx, edi
je 0x408878
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
mov eax, dword [0x66864c]
sub ecx, dword [eax + edx + 0x108]
sub ecx, dword [eax + edx + 0x100]
sub ecx, dword [ebp - 0x23a8]
sub ecx, dword [ebp - 0x2410]
mov dword [eax + edx + 0x100], ecx
add edx, 0x168
sub esi, 1
jne 0x408860
push dword [0x668a6c]
xor esi, esi
mov dword [ebp - 0x23b8], esi
call fcn.00412ef0
push eax
push str.PRODUCTIONCUT
call fcn.00412960
push dword [0x668a6c]
mov dword [ebp - 0x2444], eax
call fcn.00412ef0
push eax
push str.ROWANDCOLUMNCUT
call fcn.00412960
add esp, 0x18
mov dword [ebp - 0x23f0], eax
mov dword [ebp - 0x23d8], esi
cmp dword [0x66875c], esi
jle 0x408bc5
xor ecx, ecx
mov dword [ebp - 0x23b0], ecx
nop word [eax + eax]
add ecx, dword [0x66864c]
lea edx, [ebp - 0x114]
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x408920
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408936
sub ecx, edx
lea eax, [ebp - 0x114]
add ecx, eax
cmp ecx, eax
jbe 0x408960
nop dword [eax + eax]
cmp byte [ecx], 0x2e
je 0x408960
dec ecx
lea eax, [ebp - 0x114]
cmp ecx, eax
ja 0x408950
mov eax, dword [str..path]
mov dword [ecx], eax
mov ax, word [0x4fdaa0]
mov word [ecx + 4], ax
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.0041d2e0
add esp, 8
test eax, eax
je 0x40899c
cmp dword [ebp - 0x2444], 0
jne 0x40899c
cmp dword [ebp - 0x23f0], 0
je 0x408b94
push 0x10
call fcn.00417230
add esp, 4
mov edi, eax
test esi, esi
jne 0x4089ba
mov dword [ebp - 0x23a8], edi
mov dword [ebp - 0x23b8], edi
jmp 0x4089c9
mov ecx, dword [ebp - 0x23a8]
mov dword [ebp - 0x23a8], eax
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x114]
mov dword [edi + 0xc], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4089e0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.00417230
add esp, 4
mov dword [edi], eax
lea edx, [ebp - 0x114]
nop dword [eax]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x408a00
mov eax, dword [0x66864c]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x23b0]
mov esi, dword [ebp - 0x23b4]
mov eax, dword [eax + ecx + 0x100]
imul eax, esi
cdq
and edx, 7
lea ecx, [edx + eax]
mov eax, esi
imul eax, dword [ebp - 0x2410]
sar ecx, 3
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, ecx
shl eax, 3
cdq
idiv esi
mov edx, dword [ebp - 0x23b0]
mov dword [edi + 4], eax
mov eax, dword [0x66864c]
mov ecx, dword [eax + edx + 0x104]
add ecx, dword [ebp - 0x23cc]
add ecx, dword [0x668764]
mov dword [edi + 8], ecx
mov eax, dword [0x66864c]
mov eax, dword [eax + edx + 0x10c]
add eax, ecx
mov dword [edi + 8], eax
mov esi, dword [0x66864c]
add esi, edx
sub esp, 0x18
mov edx, esp
mov ecx, esi
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
lea edi, [ecx + 1]
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408aa8
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.004020f0
call fcn.00410500
add esp, 0x18
test al, al
je 0x408b8e
movzx eax, byte [0x66864a]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x23e4]
mov ecx, 0x122
add esi, dword [0x6a3ad4]
push eax
movzx eax, byte [0x668649]
push eax
sub esp, 0x488
movsd qword [ebp - 0x2454], xmm0
mov edi, esp
movsd qword [ebp - 0x242c], xmm0
lea eax, [ebp - 0x242c]
rep movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x2454]
push eax
sub esp, 0x18
lea ecx, [ebp - 0x114]
mov edx, esp
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408b35
sub ecx, esi
lea eax, [ebp - 0x114]
push ecx
push eax
mov ecx, edx
call fcn.004020f0
call fcn.00411010
mov edi, dword [ebp - 0x23a8]
add esp, 0x4b0
movd xmm0, dword [edi + 4]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [ebp - 0x2454]
cvttsd2si eax, xmm0
movd xmm0, dword [edi + 8]
cvtdq2pd xmm0, xmm0
mov dword [edi + 4], eax
addsd xmm0, qword [ebp - 0x242c]
cvttsd2si eax, xmm0
mov dword [edi + 8], eax
mov esi, dword [ebp - 0x23b8]
mov eax, dword [ebp - 0x23d8]
mov ecx, dword [ebp - 0x23b0]
inc eax
add ecx, 0x168
mov dword [ebp - 0x23d8], eax
mov dword [ebp - 0x23b0], ecx
cmp eax, dword [0x66875c]
jl 0x408910
mov edi, dword [ebp - 0x23ec]
xorps xmm0, xmm0
mov dword [ebp - 0x131c], 0
movups xmmword [ebp - 0x132c], xmm0
mov dword [ebp - 0x1318], 0xf
mov byte [ebp - 0x132c], 0
movups xmmword [ebp - 0x1344], xmm0
mov dword [ebp - 0x1334], 0
mov dword [ebp - 0x1330], 0xf
mov byte [ebp - 0x1344], 0
mov ecx, 0x668968
mov byte [ebp - 4], 9
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408c18
sub ecx, edx
cmp ecx, 7
jbe 0x408c38
lea eax, [ecx + 0x668960]
push eax
lea ecx, [ebp - 0x1344]
call fcn.00406030
cmp dword [0x668880], 0
je 0x408c58
cmp edi, dword [ebp - 0x23ac]
mov ecx, edi
cmovg ecx, dword [ebp - 0x23ac]
mov dword [ebp - 0x23a8], ecx
jmp 0x408c5e
mov dword [ebp - 0x23a8], edi
lea eax, [ebp - 0x132c]
push eax
sub esp, 0x18
lea eax, [ebp - 0x1344]
mov ecx, esp
mov dword [ebp - 0x2400], esp
push eax
call fcn.00402330
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov eax, esp
mov dword [ebp - 0x23f0], esp
push dword [ebp - 0x244c]
push dword [0x668a6c]
push eax
call fcn.00420620
lea eax, [ebp - 0x241c]
mov byte [ebp - 4], 0xb
mov ecx, esp
push eax
call fcn.00405de0
mov eax, dword [ebp - 0x23cc]
add eax, dword [ebp - 0x2424]
add eax, dword [ebp - 0x23c4]
push esi
push eax
push dword [ebp - 0x23a8]
push dword [0x668a6c]
mov byte [ebp - 4], 9
call fcn.0048ddf0
add esp, 0x50
test al, al
je 0x408d7d
push dword [0x668a6c]
call fcn.00412ef0
push eax
push str.CUTOUTPUTUNIT
call fcn.00412900
add esp, 0xc
mov dword [ebp - 0x23f0], eax
cmp eax, 1
jl 0x408d4f
push dword [0x668a6c]
call fcn.00412ef0
push eax
push str.IMMEDIATECUTOUTPUT
call fcn.00412960
neg eax
lea ecx, [ebp - 0x132c]
sbb eax, eax
neg eax
cmp dword [ebp - 0x1318], 0x10
cmovae ecx, dword [ebp - 0x132c]
push ecx
push eax
push dword [ebp - 0x23f0]
push dword [0x668a6c]
call fcn.00491600
add esp, 0x1c
jmp 0x408d7d
push str.CUTQUEUEACTIVE
call fcn.00416ad0
add esp, 4
test eax, eax
jne 0x408d7d
cmp dword [ebp - 0x1318], 0x10
lea eax, [ebp - 0x132c]
cmovae eax, dword [ebp - 0x132c]
push eax
call fcn.0041d4f0
add esp, 4
test esi, esi
je 0x408da4
push dword [esi]
call fcn.00417300
mov eax, dword [ebp - 0x23b8]
mov esi, dword [esi + 0xc]
push eax
call fcn.00417300
add esp, 8
mov dword [ebp - 0x23b8], esi
test esi, esi
jne 0x408d81
mov ecx, dword [ebp - 0x1330]
mov byte [ebp - 4], 8
cmp ecx, 0x10
jb 0x408de2
mov edx, dword [ebp - 0x1344]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x408dd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2ab
push ecx
push edx
call fcn.004b3acc
add esp, 8
mov ecx, dword [ebp - 0x1318]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x408e20
mov edx, dword [ebp - 0x132c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x408e16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2ab
push ecx
push edx
call fcn.004b3acc
add esp, 8
cmp byte [0x52a402], 0
je 0x408e35
mov byte [0x52a402], 0
call fcn.00405920
call fcn.00426a30
xor esi, esi
cmp dword [ebp - 0x1b80], esi
jne 0x409d37
cmp dword [ebp - 0x23cc], esi
je 0x4090fb
mov eax, dword [ebp - 0x1b94]
test eax, eax
jle 0x408ecf
nop
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x408e88
cmp dword [0x668880], 0
mov ecx, edi
je 0x408e83
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x408ea5
cmp dword [0x668880], 0
mov edx, edi
je 0x408ea0
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
mov eax, dword [ebp - 0x1b94]
inc esi
add esp, 0xc
cmp esi, eax
jl 0x408e60
xor edx, edx
mov dword [ebp - 0x23a8], edx
cmp dword [ebp - 0x23cc], edx
jle 0x4090fb
nop dword [eax]
nop word [eax + eax]
xor ecx, ecx
mov dword [ebp - 0x23d0], ecx
cmp dword [ebp - 0x23c8], ecx
jle 0x40906d
mov dword [ebp - 0x23b0], 0
test eax, eax
jle 0x409054
nop word [eax + eax]
mov ecx, dword [ebp - 0x23b4]
mov edx, edi
mov esi, dword [0x668880]
cmp ecx, 1
jne 0x408f49
test esi, esi
je 0x408f44
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
lea eax, [edx + 7]
jmp 0x408f5f
test esi, esi
je 0x408f5a
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add edx, eax
mov eax, dword [ebp - 0x23b0]
sar edx, 3
mov eax, dword [ebp + eax*4 - 0x1194]
mov word [eax], dx
cmp dword [ebp - 0x23fc], 1
jle 0x408fe4
cmp ecx, 1
jne 0x408f9e
mov ecx, edi
test esi, esi
je 0x408f99
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x408fb6
mov edx, edi
test esi, esi
je 0x408fb1
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
push dword [ebp - 0x23c8]
mov esi, dword [ebp - 0x23b0]
push dword [ebp - 0x23fc]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.00428d60
add esp, 0x14
jmp 0x409039
cmp ecx, 1
jne 0x409001
mov ecx, edi
test esi, esi
je 0x408ffc
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x409019
mov edx, edi
test esi, esi
je 0x409014
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
mov esi, dword [ebp - 0x23b0]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.0048bef0
add esp, 0xc
mov eax, dword [ebp - 0x1b94]
inc esi
mov dword [ebp - 0x23b0], esi
cmp esi, eax
jl 0x408f20
mov ecx, dword [ebp - 0x23d0]
inc ecx
mov dword [ebp - 0x23d0], ecx
cmp ecx, dword [ebp - 0x23c8]
jl 0x408f04
mov edx, dword [ebp - 0x23a8]
xor esi, esi
test eax, eax
jle 0x4090e8
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x40909b
cmp dword [0x668880], 0
mov ecx, edi
je 0x409096
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x4090b8
cmp dword [0x668880], 0
mov edx, edi
je 0x4090b3
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
mov eax, dword [ebp - 0x1b94]
inc esi
add esp, 0xc
cmp esi, eax
jl 0x409073
mov edx, dword [ebp - 0x23a8]
inc edx
mov dword [ebp - 0x23a8], edx
cmp edx, dword [ebp - 0x23cc]
jl 0x408ef0
push 0x66864c
mov dword [ebp - 0x23d0], 0
call fcn.00401fc0
xor edx, edx
mov byte [ebp - 0x23d2], al
add esp, 4
mov dword [ebp - 0x23b8], edx
cmp dword [ebp - 0x23c4], edx
jle 0x40995e
nop dword [eax]
mov eax, dword [0x668a70]
cmp dword [eax], 0
jne 0x40995e
mov eax, dword [0x6a3ad4]
mov ecx, dword [ebp - 0x23e4]
cvttsd2si ecx, qword [ecx + eax + 0x40]
mov eax, edx
cdq
idiv ecx
test edx, edx
jne 0x409194
cmp byte [0x66864b], dl
mov eax, 0x7530
mov esi, 0x2710
cmovne esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x668888]
cmp eax, esi
jbe 0x409194
push dword [0x668a6c]
call fcn.004247b0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x668888], eax
xor esi, esi
cmp dword [ebp - 0x1b94], esi
jle 0x40920d
nop
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x4091c8
cmp dword [0x668880], 0
mov ecx, edi
je 0x4091c3
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x4091e5
cmp dword [0x668880], 0
mov edx, edi
je 0x4091e0
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x1b94]
jl 0x4091a0
mov eax, dword [ebp - 0x23d0]
mov dword [ebp - 0x23f8], eax
cmp eax, dword [0x66875c]
jge 0x4097d0
imul edx, eax, 0x168
mov dword [ebp - 0x23d8], edx
cmp byte [ebp - 0x23d2], 0
mov eax, dword [0x66864c]
mov ecx, dword [ebp - 0x23b8]
je 0x409274
cmp ecx, dword [eax + edx + 0x110]
mov ecx, dword [ebp - 0x23f8]
jle 0x40925f
lea eax, [ecx + 1]
mov dword [ebp - 0x23d0], eax
jmp 0x409294
mov ecx, dword [ebp - 0x23b8]
cmp ecx, dword [eax + edx + 0x104]
jl 0x4097d0
jmp 0x409294
cmp ecx, dword [eax + edx + 0x104]
jl 0x4097ab
mov ecx, dword [ebp - 0x23b8]
cmp ecx, dword [eax + edx + 0x110]
jg 0x4097ab
mov eax, dword [0x66864c]
mov ecx, dword [ebp - 0x23b8]
cmp ecx, dword [eax + edx + 0x104]
mov ecx, dword [ebp - 0x23f8]
jne 0x4092cf
mov eax, dword [0x6a3ad4]
add eax, dword [ebp - 0x23e4]
push eax
push dword [0x668764]
push ecx
call fcn.00406ce0
mov edx, dword [ebp - 0x23d8]
add esp, 0xc
cmp dword [ebp - 0x23b8], 0
jne 0x40938d
mov eax, dword [0x66864c]
cmp dword [eax + edx + 0x104], 0
jge 0x40938d
mov eax, dword [0x6a3ad4]
add eax, dword [ebp - 0x23e4]
push eax
push dword [0x668764]
push dword [ebp - 0x23f8]
call fcn.00406ce0
mov eax, dword [0x66864c]
add esp, 0xc
mov edx, dword [ebp - 0x23d8]
mov eax, dword [eax + edx + 0x104]
neg eax
mov dword [ebp - 0x23a8], eax
test eax, eax
jle 0x40938d
mov edi, edx
nop
xor esi, esi
cmp dword [ebp - 0x1b94], esi
jle 0x40936c
nop word [eax + eax]
mov eax, dword [ebp + esi*4 - 0x1194]
mov ecx, dword [0x66864c]
add eax, 2
push 0
push eax
push esi
push dword [ecx + edi + 0x128]
call fcn.00403a60
inc esi
add esp, 0x10
cmp esi, dword [ebp - 0x1b94]
jl 0x409340
mov eax, dword [0x66864c]
inc dword [eax + edi + 0x128]
sub dword [ebp - 0x23a8], 1
jne 0x409330
mov edi, dword [ebp - 0x23ec]
mov edx, dword [ebp - 0x23d8]
mov ecx, dword [0x66864c]
mov eax, dword [ecx + edx + 0x124]
mov dword [ebp - 0x23f0], eax
test eax, eax
jle 0x4096e3
mov eax, dword [ecx + edx + 0x100]
imul eax, dword [ebp - 0x23b4]
push dword [ebp - 0x23f0]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x23a8], eax
mov eax, dword [ebp - 0x23b4]
imul eax, dword [ebp - 0x2410]
cdq
and edx, 7
add eax, edx
sar eax, 3
add dword [ebp - 0x23a8], eax
call fcn.004049c0
mov ecx, dword [0x66864c]
add esp, 4
mov edx, dword [ebp - 0x23d8]
mov dword [ebp - 0x23b0], ecx
mov eax, dword [ecx + edx + 0x12c]
test eax, eax
je 0x409419
dec eax
mov dword [ecx + edx + 0x12c], eax
jmp 0x4097ab
mov eax, dword [ebp - 0x1b94]
xor esi, esi
test eax, eax
jle 0x40964e
nop dword [eax]
push eax
push esi
push 0
push dword [ebp - 0x23b8]
call fcn.00405040
push dword [ebp - 0x23a8]
mov eax, dword [ebp + esi*4 - 0x1194]
mov ecx, dword [0x66864c]
add eax, 2
push eax
mov eax, dword [ebp - 0x23d8]
push esi
push dword [ecx + eax + 0x128]
call fcn.00403a60
mov edx, dword [0x66864c]
mov ecx, eax
mov eax, dword [ebp - 0x23d8]
add esp, 0x20
mov dword [ebp - 0x23b0], edx
mov eax, dword [edx + eax + 0x108]
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp ecx, eax
jl 0x4094b7
mov eax, dword [ebp - 0x1b94]
inc esi
cmp esi, eax
jl 0x409430
mov edx, dword [ebp - 0x23d8]
mov ecx, dword [ebp - 0x23b0]
jmp 0x40964e
call fcn.00403e00
mov eax, dword [0x66864c]
add eax, dword [ebp - 0x23d8]
push 0x4fe204
push dword [0x668a6c]
push eax
call fcn.0041fd50
mov edx, dword [0x66864c]
add esp, 0xc
add edx, dword [ebp - 0x23d8]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x1364], 0
movups xmmword [ebp - 0x1374], xmm0
mov dword [ebp - 0x1360], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x23f0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409510
sub ecx, dword [ebp - 0x23f0]
push ecx
push edx
lea ecx, [ebp - 0x1374]
call fcn.004020f0
cmp dword [ebp + 0x10], 0
mov byte [ebp - 4], 0xc
jne 0x4095e2
cmp dword [ebp - 0x1360], 0x10
lea ecx, [ebp - 0x1374]
mov eax, dword [ebp - 0x1364]
cmovae ecx, dword [ebp - 0x1374]
test eax, eax
je 0x409574
or edx, 0xffffffff
dec eax
cmp eax, edx
cmovb edx, eax
add edx, ecx
cmp byte [edx], 0x2e
je 0x409570
cmp edx, ecx
je 0x409574
dec edx
cmp byte [edx], 0x2e
jne 0x409566
sub edx, ecx
jmp 0x409577
or edx, 0xffffffff
sub esp, 0x18
lea eax, [ebp - 0x1374]
mov ecx, esp
xorps xmm0, xmm0
mov dword [ebp - 0x2400], ecx
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp dword [ebp - 0x1364], edx
cmovb edx, dword [ebp - 0x1364]
cmp dword [ebp - 0x1360], 0x10
push edx
cmovae eax, dword [ebp - 0x1374]
push eax
call fcn.004020f0
push dword [ebp + 0x1c]
or dword [ebp - 0x2408], 1
push dword [ebp - 0x2458]
push dword [ebp - 0x245c]
push dword [0x668a6c]
call fcn.004261e0
add esp, 0x28
mov eax, dword [0x66864c]
mov edx, dword [ebp - 0x23d8]
mov byte [ebp - 4], 1
mov dword [eax + edx + 0x124], 0
mov ecx, dword [ebp - 0x1360]
cmp ecx, 0x10
jb 0x40963c
mov edx, dword [ebp - 0x1374]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40962c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2ab
push ecx
push edx
call fcn.004b3acc
mov edx, dword [ebp - 0x23d8]
add esp, 8
mov ecx, dword [0x66864c]
mov eax, dword [ebp - 0x1b94]
mov dword [ebp - 0x23b0], ecx
cmp dword [ecx + edx + 0x124], 0
jne 0x4096d7
xor esi, esi
test eax, eax
jle 0x4096d7
mov edi, dword [ebp - 0x23b4]
cmp byte [0x668648], 0
jne 0x4096cc
mov eax, dword [0x668760]
mov ecx, eax
test ecx, ecx
jns 0x40967b
add ecx, 1
sar ecx, 1
mov eax, dword [ebp - 0x23b0]
add ecx, 7
mov eax, dword [eax + edx + 0x108]
add eax, ecx
imul eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, dword [ebp - 0x23a8]
push 0
push eax
call fcn.004b90a0
mov ecx, dword [0x66864c]
add esp, 0xc
mov eax, dword [ebp - 0x1b94]
mov edx, dword [ebp - 0x23d8]
mov dword [ebp - 0x23b0], ecx
inc esi
cmp esi, eax
jl 0x409664
mov edi, dword [ebp - 0x23ec]
inc dword [ecx + edx + 0x128]
jmp 0x4097ab
mov eax, dword [ecx + edx + 0x130]
test eax, eax
je 0x4096fb
dec eax
mov dword [ecx + edx + 0x130], eax
jmp 0x4097ab
cmp byte [ebp - 0x23bd], 0
je 0x4097ab
mov eax, dword [ecx + edx + 0x100]
xor esi, esi
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x23a8], eax
mov eax, dword [ebp - 0x23b4]
imul eax, dword [ebp - 0x2410]
cdq
and edx, 7
add eax, edx
mov edx, dword [ebp - 0x23a8]
sar eax, 3
add edx, eax
mov dword [ebp - 0x23a8], edx
cmp dword [ebp - 0x1b94], esi
jle 0x4097a5
mov edi, dword [ebp - 0x23b4]
nop dword [eax]
mov eax, dword [0x66864c]
mov ecx, dword [ebp - 0x23d8]
push dword [eax + ecx + 0x150]
lea eax, [ebp - 0x1194]
push edi
push dword [ebp - 0x1b94]
push esi
push edx
push eax
push dword [ebp - 0x23f8]
call fcn.004064e0
mov edx, dword [ebp - 0x23a8]
inc esi
add esp, 0x1c
cmp esi, dword [ebp - 0x1b94]
jl 0x409760
mov edi, dword [ebp - 0x23ec]
mov edx, dword [ebp - 0x23d8]
mov eax, dword [ebp - 0x23f8]
add edx, 0x168
inc eax
mov dword [ebp - 0x23d8], edx
mov dword [ebp - 0x23f8], eax
cmp eax, dword [0x66875c]
jl 0x409231
xor eax, eax
mov dword [ebp - 0x23a8], eax
cmp dword [ebp - 0x23c8], eax
jle 0x409945
nop dword [eax]
nop dword [eax + eax]
xor esi, esi
cmp dword [ebp - 0x1b94], esi
jle 0x409932
nop
mov ecx, dword [ebp - 0x23b4]
mov edx, edi
cmp ecx, 1
jne 0x409828
cmp dword [0x668880], 0
je 0x409823
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
lea eax, [edx + 7]
jmp 0x409843
cmp dword [0x668880], 0
je 0x40983e
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add edx, eax
mov eax, dword [ebp + esi*4 - 0x1194]
sar edx, 3
mov word [eax], dx
cmp dword [ebp - 0x23fc], 1
jle 0x4098c6
cmp ecx, 1
jne 0x409881
cmp dword [0x668880], 0
mov ecx, edi
je 0x40987c
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40989e
cmp dword [0x668880], 0
mov edx, edi
je 0x409899
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
push dword [ebp - 0x23c8]
cdq
push dword [ebp - 0x23fc]
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.00428d60
add esp, 0x14
jmp 0x40991f
cmp ecx, 1
jne 0x4098e8
cmp dword [0x668880], 0
mov ecx, edi
je 0x4098e3
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x409905
cmp dword [0x668880], 0
mov edx, edi
je 0x409900
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.0048bef0
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x1b94]
jl 0x409800
mov eax, dword [ebp - 0x23a8]
inc eax
mov dword [ebp - 0x23a8], eax
cmp eax, dword [ebp - 0x23c8]
jl 0x4097f0
mov edx, dword [ebp - 0x23b8]
inc edx
mov dword [ebp - 0x23b8], edx
cmp edx, dword [ebp - 0x23c4]
jl 0x409130
cmp dword [ebp - 0x2424], 0
je 0x4099de
xor esi, esi
cmp dword [ebp - 0x1b94], esi
jle 0x4099de
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x409999
cmp dword [0x668880], 0
mov ecx, edi
je 0x409994
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x4099b6
cmp dword [0x668880], 0
mov edx, edi
je 0x4099b1
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x1b94]
jl 0x409971
xor eax, eax
mov dword [ebp - 0x23d0], eax
cmp dword [ebp - 0x2424], eax
jle 0x40ac9e
mov dword [0x668884], 0x2710
test eax, eax
jne 0x409b1a
mov esi, dword [ebp - 0x23e8]
test esi, esi
jle 0x409b1a
push dword [ebp - 0x1b74]
push dword [ebp - 0x1b78]
push 0x31
push 2
push esi
push dword [ebp - 0x23bc]
call fcn.00420890
add esp, 0x18
cmp dword [ebp - 0x2430], 0
je 0x409b1a
mov esi, esi
test esi, esi
jns 0x409a47
add esi, 1
sar esi, 1
mov ecx, dword [ebp - 0x23cc]
add ecx, esi
add ecx, dword [ebp - 0x23c4]
mov eax, eax
test eax, eax
jns 0x409a60
add eax, 1
sar eax, 1
mov edx, dword [ebp - 0x243c]
mov dword [ebp - 0x23f0], eax
add eax, dword [ebp - 0x240c]
mov dword [ebp - 0x242c], eax
mov dword [ebp - 0x2428], ecx
cmp edx, dword [ebp - 0x2420]
je 0x409a98
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp - 0x243c], edx
jmp 0x409abd
lea eax, [ebp - 0x242c]
push eax
push edx
lea ecx, [ebp - 0x2440]
call fcn.00405a20
mov eax, dword [ebp - 0x2438]
mov edx, dword [ebp - 0x243c]
mov dword [ebp - 0x2420], eax
mov eax, dword [ebp - 0x23cc]
mov ecx, dword [ebp - 0x23f0]
add eax, esi
add eax, dword [ebp - 0x23c4]
add ecx, dword [ebp - 0x23e0]
mov dword [ebp - 0x2454], ecx
mov dword [ebp - 0x2450], eax
cmp edx, dword [ebp - 0x2420]
je 0x409afb
mov dword [edx], ecx
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x243c], edx
jmp 0x409b1a
lea eax, [ebp - 0x2454]
push eax
push edx
lea ecx, [ebp - 0x2440]
call fcn.00405a20
mov eax, dword [ebp - 0x2438]
mov dword [ebp - 0x2420], eax
xor eax, eax
mov dword [ebp - 0x2408], eax
cmp dword [ebp - 0x23c8], eax
jle 0x409c95
nop
cmp dword [ebp - 0x1b94], 0
mov dword [ebp - 0x23a8], 0
jle 0x409c82
nop word [eax + eax]
mov ecx, dword [ebp - 0x23b4]
mov edx, edi
mov esi, dword [0x668880]
cmp ecx, 1
jne 0x409b79
test esi, esi
je 0x409b74
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
lea eax, [edx + 7]
jmp 0x409b8f
test esi, esi
je 0x409b8a
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add edx, eax
mov eax, dword [ebp - 0x23a8]
sar edx, 3
mov eax, dword [ebp + eax*4 - 0x1194]
mov word [eax], dx
cmp dword [ebp - 0x23fc], 1
jle 0x409c14
cmp ecx, 1
jne 0x409bce
mov ecx, edi
test esi, esi
je 0x409bc9
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x409be6
mov edx, edi
test esi, esi
je 0x409be1
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
push dword [ebp - 0x23c8]
mov esi, dword [ebp - 0x23a8]
push dword [ebp - 0x23fc]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.00428d60
add esp, 0x14
jmp 0x409c69
cmp ecx, 1
jne 0x409c31
mov ecx, edi
test esi, esi
je 0x409c2c
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x409c49
mov edx, edi
test esi, esi
je 0x409c44
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
mov esi, dword [ebp - 0x23a8]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.0048bef0
add esp, 0xc
inc esi
mov dword [ebp - 0x23a8], esi
cmp esi, dword [ebp - 0x1b94]
jl 0x409b50
mov eax, dword [ebp - 0x2408]
inc eax
mov dword [ebp - 0x2408], eax
cmp eax, dword [ebp - 0x23c8]
jl 0x409b30
xor esi, esi
cmp dword [ebp - 0x1b94], esi
jle 0x409d0d
nop
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x409cc8
cmp dword [0x668880], 0
mov ecx, edi
je 0x409cc3
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x409ce5
cmp dword [0x668880], 0
mov edx, edi
je 0x409ce0
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x1b94]
jl 0x409ca0
mov eax, dword [ebp - 0x23d0]
inc eax
mov dword [ebp - 0x23d0], eax
cmp eax, dword [ebp - 0x2424]
jl 0x4099f2
mov eax, dword [ebp - 0x2440]
mov dword [ebp - 0x2434], eax
jmp 0x40ac9e
cmp dword [0x66875c], esi
jle 0x409d6b
mov edi, dword [ebp - 0x23e4]
mov eax, dword [0x6a3ad4]
add eax, edi
push eax
push dword [0x668764]
push esi
call fcn.00406ce0
inc esi
add esp, 0xc
cmp esi, dword [0x66875c]
jl 0x409d45
mov edi, dword [ebp - 0x23ec]
mov eax, dword [ebp - 0x1a6c]
xor esi, esi
add eax, 0xffffff06
mov dword [ebp - 0x23d8], esi
cmp eax, 0x31
ja 0x409e17
call fcn.00415580
cmp eax, 2
jne 0x409d9e
push dword [0x668a6c]
call fcn.00412ef0
jmp 0x409da8
push str.ver8900
call fcn.0041c8c0
add esp, 4
push eax
push str.CUSTOMSEQUENCE
call fcn.004129d0
add esp, 8
test eax, eax
je 0x409e17
lea ecx, [ebp - 0x1314]
push ecx
push eax
call fcn.004170b0
add esp, 8
mov dword [ebp - 0x23d8], eax
xor esi, esi
cmp eax, 1
jge 0x409de2
mov dword [ebp - 0x23d8], esi
jmp 0x409e17
mov edi, dword [ebp - 0x23d8]
nop dword [eax + eax]
push dword [ebp + esi*4 - 0x1314]
call fcn.004cd97e
mov dword [ebp + esi*4 - 0x1214], eax
add esp, 4
inc esi
cmp esi, edi
jl 0x409df0
mov edi, dword [ebp - 0x23ec]
mov esi, dword [ebp - 0x23d8]
mov eax, dword [ebp - 0x1a6c]
mov edx, dword [ebp - 0x1b94]
add eax, 0xfffffd94
cmp eax, 0x1d
ja 0x409e32
cmp edx, 4
je 0x409e47
mov eax, dword [ebp - 0x1a6c]
add eax, 0xfffffc18
cmp eax, 0x28
ja 0x409e65
cmp edx, 4
jne 0x409e65
movaps xmm0, xmmword [0x4fe270]
mov esi, 4
movups xmmword [ebp - 0x1214], xmm0
mov dword [ebp - 0x23d8], esi
jmp 0x409f1c
test esi, esi
jne 0x409f1c
mov esi, edx
xor ecx, ecx
mov dword [ebp - 0x23d8], esi
test esi, esi
jle 0x409f1c
cmp esi, 0x10
jb 0x409f06
movaps xmm1, xmmword [0x4fe280]
mov eax, esi
and eax, 0x8000000f
jns 0x409e9d
dec eax
or eax, 0xfffffff0
inc eax
sub esi, eax
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movups xmmword [ebp + ecx*4 - 0x1214], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movups xmmword [ebp + ecx*4 - 0x1204], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movups xmmword [ebp + ecx*4 - 0x11f4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movups xmmword [ebp + ecx*4 - 0x11e4], xmm0
add ecx, 0x10
cmp ecx, esi
jl 0x409ea0
mov esi, edx
cmp ecx, edx
jge 0x409f1c
nop word [eax + eax]
mov dword [ebp + ecx*4 - 0x1214], ecx
inc ecx
cmp ecx, edx
jl 0x409f10
call fcn.00415580
cmp eax, 2
jne 0x409f33
push dword [0x668a6c]
call fcn.00412ef0
jmp 0x409f3d
push str.ver8900
call fcn.0041c8c0
add esp, 4
push eax
push str.SKIPEMPTYPASSES
call fcn.00412960
add esp, 8
test eax, eax
je 0x40a240
mov esi, dword [0x66875c]
xorps xmm0, xmm0
mov edx, dword [0x66864c]
xor eax, eax
mov dword [ebp - 0x23bc], eax
movups xmmword [ebp - 0x1294], xmm0
movups xmmword [ebp - 0x1284], xmm0
movups xmmword [ebp - 0x1274], xmm0
movups xmmword [ebp - 0x1264], xmm0
movups xmmword [ebp - 0x1254], xmm0
movups xmmword [ebp - 0x1244], xmm0
movups xmmword [ebp - 0x1234], xmm0
movups xmmword [ebp - 0x1224], xmm0
test esi, esi
jle 0x40a1dc
xor ecx, ecx
mov dword [ebp - 0x23a8], edx
mov dword [ebp - 0x23b8], ecx
nop dword [eax + eax]
cmp dword [ecx + edx + 0x124], 0
jle 0x40a115
nop
xor eax, eax
or esi, 0xffffffff
mov dword [ebp - 0x23f8], esi
mov dword [ebp - 0x23b0], eax
cmp dword [ebp - 0x23d8], eax
jle 0x40a0fb
nop dword [eax]
mov edx, dword [ebp + eax*4 - 0x1214]
cmp esi, edx
je 0x40a0e2
mov eax, dword [ebp - 0x23a8]
mov dword [ebp - 0x23f8], edx
push dword [ecx + eax + 0x124]
call fcn.004049c0
push dword [ebp - 0x1b74]
mov eax, dword [0x66864c]
push dword [ebp - 0x1b78]
mov ecx, dword [ebp - 0x23b8]
push dword [ecx + eax + 0x134]
push 2
push dword [0x668764]
push 0
call fcn.00420890
mov ecx, dword [0x66864c]
mov eax, dword [ebp - 0x23b8]
mov esi, dword [ebp - 0x23b8]
push 0
mov edx, dword [eax + ecx + 0x128]
lea eax, [edx + 1]
mov dword [esi + ecx + 0x128], eax
mov esi, dword [ebp - 0x23f8]
push dword [ebp + esi*4 - 0x1194]
push esi
push edx
call fcn.00403a60
add esp, 0x2c
test eax, eax
je 0x40a18e
mov edx, dword [0x66864c]
xor ecx, ecx
mov eax, dword [ebp - 0x23b8]
mov dword [ebp - 0x23a8], edx
mov eax, dword [eax + edx + 0x108]
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
test eax, eax
jle 0x40a0d6
mov edx, dword [ebp + esi*4 - 0x1194]
nop
cmp byte [ecx + edx], 0
je 0x40a0d1
mov dword [ebp + esi*4 - 0x1294], 1
inc ecx
cmp ecx, eax
jl 0x40a0c0
mov eax, dword [ebp - 0x23b0]
mov ecx, dword [ebp - 0x23b8]
inc eax
mov dword [ebp - 0x23b0], eax
cmp eax, dword [ebp - 0x23d8]
jl 0x409ff0
mov edx, dword [ebp - 0x23a8]
cmp dword [ecx + edx + 0x124], 0
jg 0x409fd0
mov esi, dword [0x66875c]
mov eax, dword [ebp - 0x23bc]
inc eax
add ecx, 0x168
mov dword [ebp - 0x23bc], eax
mov dword [ebp - 0x23b8], ecx
cmp eax, esi
jl 0x409fc0
test esi, esi
jle 0x40a1dc
xor ecx, ecx
nop word [eax + eax]
cmp byte [0x668968], 0
lea ecx, [ecx + 0x168]
mov eax, 0x668968
mov dword [ebp - 0x23f0], 0
cmove eax, dword [ebp - 0x23f0]
mov dword [edx + ecx - 8], eax
mov eax, dword [0x66864c]
mov dword [eax + ecx - 0x44], 1
mov eax, dword [0x66864c]
mov dword [eax + ecx - 0x40], 0
sub esi, 1
je 0x40a1dc
mov edx, dword [0x66864c]
jmp 0x40a140
call fcn.00403e00
mov eax, dword [0x66864c]
lea ecx, [ebp - 0x2400]
add eax, dword [ebp - 0x23b8]
push ecx
lea ecx, [ebp - 0x23f0]
push ecx
push eax
call fcn.00403010
mov eax, dword [0x66864c]
add esp, 0xc
mov ecx, dword [ebp - 0x23b8]
mov dword [ecx + eax + 0x124], 0
mov edx, dword [0x66864c]
mov dword [ebp - 0x23a8], edx
jmp 0x40a0fb
mov esi, dword [ebp - 0x23d8]
xor edx, edx
test esi, esi
jle 0x40a240
lea edi, [ebp - 0x1214]
mov dword [ebp - 0x23bc], edi
mov eax, dword [edi]
mov ecx, esi
cmp dword [ebp + eax*4 - 0x1294], 0
jne 0x40a224
dec esi
mov dword [ebp - 0x23d8], esi
cmp edx, esi
jge 0x40a23a
mov ecx, esi
lea esi, [edi + 4]
sub ecx, edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x23bc]
mov esi, dword [ebp - 0x23d8]
jmp 0x40a1f4
inc edx
mov dword [ebp - 0x23d8], ecx
add edi, 4
mov esi, ecx
mov dword [ebp - 0x23bc], edi
cmp edx, ecx
jl 0x40a1f4
mov edi, dword [ebp - 0x23ec]
xor eax, eax
mov dword [ebp - 0x23e4], eax
test esi, esi
jle 0x40ac98
push dword [ebp - 0x1b94]
mov esi, dword [ebp + eax*4 - 0x1214]
push esi
push 1
push 0
call fcn.00405040
add esp, 0x10
cmp dword [0x66875c], 0
jle 0x40a2fd
xor edx, edx
mov dword [ebp - 0x23a8], edx
mov edi, edx
cmp byte [ebp - 0x23bd], 0
mov ecx, dword [0x66864c]
mov eax, dword [ecx + edx + 0x12c]
mov dword [ecx + edx + 0x138], eax
mov ecx, dword [0x66864c]
mov eax, dword [ecx + edx + 0x130]
mov dword [ecx + edx + 0x13c], eax
je 0x40a2e2
push edi
call fcn.004062b0
mov edx, dword [ebp - 0x23a8]
add esp, 4
test eax, eax
mov eax, dword [0x66864c]
je 0x40a2d7
mov dword [eax + edx + 0x140], 0
jmp 0x40a2e2
mov dword [eax + edx + 0x140], 0xffffffff
inc edi
add edx, 0x168
mov dword [ebp - 0x23a8], edx
cmp edi, dword [0x66875c]
jl 0x40a281
mov edi, dword [ebp - 0x23ec]
mov eax, dword [ebp - 0x23d8]
cmp eax, 1
jne 0x40a30f
mov eax, 4
jmp 0x40a336
mov ecx, dword [ebp - 0x23e4]
dec eax
cmp ecx, eax
jne 0x40a321
mov eax, 3
jmp 0x40a336
test ecx, ecx
jne 0x40a331
push 1
call fcn.00490fb0
add esp, 4
jmp 0x40a35c
mov eax, 2
push eax
call fcn.00490fb0
mov eax, dword [ebp - 0x23e4]
add esp, 4
test eax, eax
je 0x40a35c
mov dword [ebp - 0x2434], 1
cmp esi, dword [ebp + eax*4 - 0x1218]
je 0x40a366
mov dword [ebp - 0x2434], 0
push esi
call fcn.0048b8f0
mov ecx, dword [ebp - 0x23cc]
add esp, 4
test ecx, ecx
je 0x40a619
cmp dword [ebp - 0x23e4], 0
jne 0x40a477
cmp dword [ebp - 0x2430], 0
je 0x40a477
mov eax, dword [ebp - 0x23e8]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x23f0], eax
sub ecx, eax
mov eax, dword [ebp - 0x23d0]
mov eax, eax
test eax, eax
jns 0x40a3b9
add eax, 1
sar eax, 1
mov edx, dword [ebp - 0x243c]
mov dword [ebp - 0x2444], eax
add eax, dword [ebp - 0x240c]
mov dword [ebp - 0x242c], eax
mov dword [ebp - 0x2428], ecx
cmp edx, dword [ebp - 0x2420]
je 0x40a3f1
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp - 0x243c], edx
jmp 0x40a410
lea eax, [ebp - 0x242c]
push eax
push edx
lea ecx, [ebp - 0x2440]
call fcn.00405a20
mov eax, dword [ebp - 0x2438]
mov dword [ebp - 0x2420], eax
mov eax, dword [ebp - 0x23cc]
mov ecx, dword [ebp - 0x2444]
sub eax, dword [ebp - 0x23f0]
add ecx, dword [ebp - 0x23e0]
mov edx, dword [ebp - 0x243c]
mov dword [ebp - 0x2454], ecx
mov dword [ebp - 0x2450], eax
cmp edx, dword [ebp - 0x2420]
je 0x40a452
mov dword [edx], ecx
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x243c], edx
jmp 0x40a471
lea eax, [ebp - 0x2454]
push eax
push edx
lea ecx, [ebp - 0x2440]
call fcn.00405a20
mov eax, dword [ebp - 0x2438]
mov dword [ebp - 0x2420], eax
mov ecx, dword [ebp - 0x23cc]
mov dword [ebp - 0x2408], 0
test ecx, ecx
jle 0x40a619
nop dword [eax]
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x40a4b8
cmp dword [0x668880], 0
mov ecx, edi
je 0x40a4b3
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40a4d5
cmp dword [0x668880], 0
mov edx, edi
je 0x40a4d0
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
mov eax, dword [ebp - 0x23c8]
add esp, 0xc
cmp dword [ebp - 0x23fc], 1
jg 0x40a56c
cmp eax, 1
jg 0x40a56c
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x40a530
cmp dword [0x668880], 0
mov ecx, edi
je 0x40a52b
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40a54d
cmp dword [0x668880], 0
mov edx, edi
je 0x40a548
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.0048bef0
add esp, 0xc
jmp 0x40a600
mov dword [ebp - 0x23bc], 0
test eax, eax
jle 0x40a600
nop
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x40a5a8
cmp dword [0x668880], 0
mov ecx, edi
je 0x40a5a3
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40a5c5
cmp dword [0x668880], 0
mov edx, edi
je 0x40a5c0
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
push dword [ebp - 0x23c8]
cdq
push dword [ebp - 0x23fc]
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.00428d60
mov edx, dword [ebp - 0x23bc]
add esp, 0x14
inc edx
mov dword [ebp - 0x23bc], edx
cmp edx, dword [ebp - 0x23c8]
jl 0x40a580
mov eax, dword [ebp - 0x2408]
inc eax
mov dword [ebp - 0x2408], eax
cmp eax, dword [ebp - 0x23cc]
jl 0x40a490
xor ecx, ecx
mov dword [ebp - 0x23b8], ecx
cmp dword [ebp - 0x23c4], ecx
jle 0x40a9d6
nop dword [eax]
mov eax, dword [0x668a70]
cmp dword [eax], 0
jne 0x40a9d6
push dword [ebp - 0x1b94]
push esi
push 1
push ecx
call fcn.00405040
mov ecx, dword [ebp - 0x23b4]
add esp, 0x10
cmp ecx, 1
jne 0x40a678
cmp dword [0x668880], 0
mov ecx, edi
je 0x40a673
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40a695
cmp dword [0x668880], 0
mov edx, edi
je 0x40a690
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
add esp, 0xc
mov dword [ebp - 0x23a8], 0
cmp dword [0x66875c], 0
jle 0x40a8f2
mov ecx, dword [ebp - 0x23b4]
xor edi, edi
nop dword [eax]
nop word [eax + eax]
mov eax, dword [0x66864c]
mov eax, dword [eax + edi + 0x100]
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x23b0], eax
mov eax, ecx
imul eax, dword [ebp - 0x2410]
cdq
and edx, 7
add eax, edx
mov edx, dword [ebp - 0x23b8]
sar eax, 3
add dword [ebp - 0x23b0], eax
mov eax, dword [0x66864c]
cmp edx, dword [eax + edi + 0x104]
jl 0x40a8cd
mov eax, dword [eax + edi + 0x124]
test eax, eax
jle 0x40a8cd
push eax
call fcn.004049c0
mov edx, dword [0x66864c]
add esp, 4
mov dword [ebp - 0x23f0], edx
mov eax, dword [edx + edi + 0x138]
test eax, eax
je 0x40a76a
dec eax
mov dword [edx + edi + 0x138], eax
jmp 0x40a8c7
cmp dword [ebp - 0x2434], 0
je 0x40a7c9
cmp byte [0x668648], 0
jne 0x40a8bb
mov ecx, dword [0x668760]
test ecx, ecx
jns 0x40a78d
add ecx, 1
sar ecx, 1
mov eax, dword [edx + edi + 0x108]
add ecx, 7
add eax, ecx
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, dword [ebp - 0x23b0]
push 0
push eax
call fcn.004b90a0
add esp, 0xc
jmp 0x40a8bb
push dword [ebp - 0x23b0]
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push eax
push esi
push dword [edx + edi + 0x128]
call fcn.00403a60
mov ecx, eax
add esp, 0x10
mov eax, dword [ebp - 0x23f0]
mov eax, dword [eax + edi + 0x108]
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp ecx, eax
jge 0x40a8bb
mov edx, dword [0x66864c]
mov eax, dword [edx + edi + 0x128]
cmp eax, dword [edx + edi + 0x10c]
jne 0x40a874
cmp byte [0x668648], 0
jne 0x40a874
mov ecx, dword [0x668760]
test ecx, ecx
jns 0x40a83d
add ecx, 1
sar ecx, 1
mov eax, dword [edx + edi + 0x108]
add ecx, 7
add eax, ecx
imul eax, dword [ebp - 0x23b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, dword [ebp - 0x23b0]
push 0
push eax
call fcn.004b90a0
add esp, 0xc
mov eax, dword [0x66864c]
cmp dword [eax + edi + 0x13c], 0
jne 0x40a8bb
cmp byte [ebp - 0x23bd], 0
je 0x40a8bb
push dword [eax + edi + 0x150]
lea eax, [ebp - 0x1194]
push dword [ebp - 0x23b4]
push dword [ebp - 0x1b94]
push esi
push dword [ebp - 0x23b0]
push eax
push dword [ebp - 0x23a8]
call fcn.004064e0
add esp, 0x1c
mov eax, dword [0x66864c]
inc dword [eax + edi + 0x128]
mov ecx, dword [ebp - 0x23b4]
mov eax, dword [ebp - 0x23a8]
add edi, 0x168
inc eax
mov dword [ebp - 0x23a8], eax
cmp eax, dword [0x66875c]
jl 0x40a6e0
mov edi, dword [ebp - 0x23ec]
mov ecx, dword [ebp - 0x23b4]
mov edx, edi
cmp ecx, 1
jne 0x40a91a
cmp dword [0x668880], 0
je 0x40a915
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
lea eax, [edx + 7]
jmp 0x40a935
cmp dword [0x668880], 0
je 0x40a930
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add edx, eax
mov eax, dword [ebp + esi*4 - 0x1194]
sar edx, 3
mov word [eax], dx
cmp dword [ebp - 0x23fc], 1
mov eax, dword [ebp - 0x23c8]
jg 0x40aa2f
cmp eax, 1
jg 0x40aa2f
cmp ecx, 1
jne 0x40a986
cmp dword [0x668880], 0
mov ecx, edi
je 0x40a981
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40a9a3
cmp dword [0x668880], 0
mov edx, edi
je 0x40a99e
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.0048bef0
add esp, 0xc
mov ecx, dword [ebp - 0x23b8]
inc ecx
mov dword [ebp - 0x23b8], ecx
cmp ecx, dword [ebp - 0x23c4]
jl 0x40a630
mov eax, dword [ebp - 0x2424]
test eax, eax
je 0x40ac29
mov dword [0x668884], 0x2710
mov dword [ebp - 0x2408], 0
jle 0x40ac29
nop
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x40aac9
cmp dword [0x668880], 0
mov ecx, edi
je 0x40aa27
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40aae6
mov dword [ebp - 0x23bc], 0
test eax, eax
jle 0x40a9bd
nop dword [eax]
cmp ecx, 1
jne 0x40aa62
cmp dword [0x668880], 0
mov ecx, edi
je 0x40aa5d
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40aa7f
cmp dword [0x668880], 0
mov edx, edi
je 0x40aa7a
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
push dword [ebp - 0x23c8]
cdq
push dword [ebp - 0x23fc]
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.00428d60
mov edx, dword [ebp - 0x23bc]
add esp, 0x14
inc edx
mov dword [ebp - 0x23bc], edx
cmp edx, dword [ebp - 0x23c8]
jge 0x40a9bd
mov ecx, dword [ebp - 0x23b4]
jmp 0x40aa40
cmp dword [0x668880], 0
mov edx, edi
je 0x40aae1
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp + esi*4 - 0x1194]
add eax, 2
push 0
push eax
call fcn.004b90a0
mov eax, dword [ebp - 0x23c8]
add esp, 0xc
cmp dword [ebp - 0x23fc], 1
jg 0x40ab7d
cmp eax, 1
jg 0x40ab7d
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x40ab41
cmp dword [0x668880], 0
mov ecx, edi
je 0x40ab3c
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40ab5e
cmp dword [0x668880], 0
mov edx, edi
je 0x40ab59
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.0048bef0
add esp, 0xc
jmp 0x40ac10
mov dword [ebp - 0x23bc], 0
test eax, eax
jle 0x40ac10
nop
mov ecx, dword [ebp - 0x23b4]
cmp ecx, 1
jne 0x40abb8
cmp dword [0x668880], 0
mov ecx, edi
je 0x40abb3
cmp edi, dword [ebp - 0x23ac]
cmovg ecx, dword [ebp - 0x23ac]
lea eax, [ecx + 7]
jmp 0x40abd5
cmp dword [0x668880], 0
mov edx, edi
je 0x40abd0
cmp edi, dword [ebp - 0x23ac]
cmovg edx, dword [ebp - 0x23ac]
imul edx, ecx
mov eax, edx
push dword [ebp - 0x23c8]
cdq
push dword [ebp - 0x23fc]
and edx, 7
add eax, edx
sar eax, 3
push eax
push dword [ebp + esi*4 - 0x1194]
push esi
call fcn.00428d60
mov edx, dword [ebp - 0x23bc]
add esp, 0x14
inc edx
mov dword [ebp - 0x23bc], edx
cmp edx, dword [ebp - 0x23c8]
jl 0x40ab90
mov edx, dword [ebp - 0x2408]
inc edx
mov dword [ebp - 0x2408], edx
cmp edx, dword [ebp - 0x2424]
jl 0x40aa00
push dword [ebp - 0x1b94]
push esi
push 1
push dword [ebp - 0x23c4]
call fcn.00405040
mov edx, dword [0x66875c]
add esp, 0x10
test edx, edx
jle 0x40ac68
xor ecx, ecx
nop dword [eax]
mov eax, dword [0x66864c]
lea ecx, [ecx + 0x168]
mov dword [eax + ecx - 0x40], 0
sub edx, 1
jne 0x40ac50
push esi
call fcn.0048b950
mov eax, dword [ebp - 0x23e4]
add esp, 4
inc eax
mov dword [ebp - 0x23e4], eax
cmp eax, dword [ebp - 0x23d8]
jl 0x40a250
mov eax, dword [ebp - 0x2440]
mov dword [ebp - 0x2434], eax
jmp 0x40ac9e
mov esi, dword [ebp - 0x23f8]
cmp dword [ebp - 0x23fc], 1
jg 0x40acb7
cmp dword [ebp - 0x23c8], 1
jg 0x40acb7
call fcn.0048c9a0
jmp 0x40acbc
call fcn.00428eb0
xor edi, edi
cmp dword [ebp - 0x1194], edi
je 0x40ad0e
lea eax, [ebp - 0x1194]
mov dword [ebp - 0x23bc], eax
push dword [ebp - 0x1b94]
push esi
push 1
push dword [ebp - 0x23c4]
call fcn.00405040
mov eax, dword [ebp - 0x23bc]
push dword [eax]
call fcn.00417300
lea edi, [edi + 1]
add esp, 0x14
lea eax, [ebp - 0x1194]
cmp dword [eax + edi*4], 0
lea eax, [eax + edi*4]
mov dword [ebp - 0x23bc], eax
jne 0x40acd2
mov ecx, dword [0x66864c]
lea edx, [ebp - 0x1114]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x40ad20
lea ecx, [ebp - 0x1114]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ad36
sub ecx, edx
mov byte [ebp + ecx - 0x1118], al
lea eax, [ebp - 0x1114]
push eax
push str.FILE
call fcn.004129d0
mov edx, eax
add esp, 8
test edx, edx
je 0x40aecd
cmp byte [edx], 0
je 0x40aecd
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ad72
sub ecx, esi
lea eax, [ecx - 1]
add eax, edx
cmp eax, edx
jbe 0x40ad95
mov cl, byte [eax]
cmp cl, 0x2f
je 0x40ad95
cmp cl, 0x5c
je 0x40ad95
dec eax
cmp eax, edx
ja 0x40ad84
inc eax
push eax
lea eax, [ebp - 0x1114]
push str.gda_s
push eax
call fcn.00404ce0
lea ecx, [ebp - 0x1114]
mov byte [ebp - 0x10d8], 0
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40adc0
sub ecx, edx
lea eax, [ebp - 0x1114]
push ecx
push eax
call fcn.00406820
mov eax, dword [0x668778]
add esp, 8
mov edi, dword [0x668774]
inc eax
movzx edx, al
mov cl, byte [edx + edi]
movzx eax, cl
add eax, dword [0x66877c]
movzx esi, al
mov al, byte [esi + edi]
mov byte [esi + edi], cl
mov byte [edx + edi], al
lea eax, [edx + 1]
mov ecx, dword [0x668774]
movzx edi, al
mov cl, byte [edi + ecx]
movzx eax, cl
add eax, esi
mov esi, dword [0x668774]
movzx edx, al
mov al, byte [edx + esi]
mov byte [edx + esi], cl
mov byte [edi + esi], al
lea eax, [edi + 1]
mov edi, dword [0x668774]
movzx esi, al
mov cl, byte [esi + edi]
movzx eax, cl
add eax, edx
movzx edx, al
mov al, byte [edx + edi]
mov byte [edx + edi], cl
mov byte [esi + edi], al
lea eax, [esi + 1]
movzx esi, al
mov cl, byte [esi + edi]
movzx eax, cl
add eax, edx
movzx edx, al
mov al, byte [edx + edi]
mov byte [edx + edi], cl
mov byte [esi + edi], al
lea eax, [esi + 1]
movzx esi, al
mov cl, byte [edi + esi]
movzx eax, cl
add eax, edx
mov edx, dword [0x668774]
movzx edi, al
mov al, byte [edx + edi]
mov byte [edx + edi], cl
mov byte [edx + esi], al
lea eax, [esi + 1]
movzx esi, al
mov dword [0x668778], esi
mov dl, byte [esi + edx]
movzx eax, dl
add eax, edi
mov edi, dword [0x668774]
movzx ecx, al
mov dword [0x66877c], ecx
mov al, byte [ecx + edi]
mov byte [ecx + edi], dl
mov byte [esi + edi], al
movzx ecx, byte [ecx + edi]
movzx eax, al
add ecx, eax
movzx eax, cl
movzx eax, byte [edi + eax]
cmp eax, 0x18
jae 0x40aecd
and eax, 0xf
push eax
call fcn.0040bc10
add esp, 4
xor edi, edi
cmp dword [0x66875c], edi
jle 0x40b07a
xor esi, esi
nop dword [eax]
mov eax, dword [0x66864c]
mov eax, dword [eax + esi + 0x124]
test eax, eax
jle 0x40b067
push eax
call fcn.004049c0
call fcn.00403e00
mov eax, dword [0x66864c]
push 0x4fe204
push dword [0x668a6c]
add eax, esi
push eax
call fcn.0041fd50
mov edx, dword [0x66864c]
add esp, 0x10
add edx, esi
mov dword [ebp - 0x134c], 0
mov ecx, edx
mov dword [ebp - 0x1348], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x135c], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x23f0], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40af50
sub ecx, dword [ebp - 0x23f0]
push ecx
push edx
lea ecx, [ebp - 0x135c]
call fcn.004020f0
mov eax, dword [0x668a70]
mov byte [ebp - 4], 0xd
cmp dword [eax], 0
jne 0x40b029
cmp dword [ebp + 0x10], 0
jne 0x40b029
cmp dword [ebp - 0x1348], 0x10
lea ecx, [ebp - 0x135c]
mov eax, dword [ebp - 0x134c]
cmovae ecx, dword [ebp - 0x135c]
test eax, eax
je 0x40afc2
or edx, 0xffffffff
dec eax
cmp eax, edx
cmovb edx, eax
add edx, ecx
cmp byte [edx], 0x2e
je 0x40afbe
cmp edx, ecx
je 0x40afc2
dec edx
cmp byte [edx], 0x2e
jne 0x40afb4
sub edx, ecx
jmp 0x40afc5
or edx, 0xffffffff
sub esp, 0x18
lea eax, [ebp - 0x135c]
mov ecx, esp
xorps xmm0, xmm0
mov dword [ebp - 0x2400], ecx
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp dword [ebp - 0x134c], edx
cmovb edx, dword [ebp - 0x134c]
cmp dword [ebp - 0x1348], 0x10
push edx
cmovae eax, dword [ebp - 0x135c]
push eax
call fcn.004020f0
push dword [ebp + 0x1c]
push dword [ebp - 0x2458]
push dword [ebp - 0x245c]
push dword [0x668a6c]
call fcn.004261e0
add esp, 0x28
mov ecx, dword [ebp - 0x1348]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x40b067
mov edx, dword [ebp - 0x135c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b05d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2ab
push ecx
push edx
call fcn.004b3acc
add esp, 8
inc edi
add esi, 0x168
cmp edi, dword [0x66875c]
jl 0x40aee0
push dword [0x668a6c]
lea eax, [ebp - 0x1344]
push eax
call fcn.00429f70
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xe
jb 0x40b09b
mov eax, dword [eax]
push dword [ebp - 0x244c]
push eax
lea eax, [ebp - 0x138c]
push str._s_w_07d
push eax
call fcn.00415150
add esp, 0x10
mov ecx, dword [ebp - 0x1330]
mov byte [ebp - 4], 0x10
cmp ecx, 0x10
jb 0x40b0f4
mov edx, dword [ebp - 0x1344]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b0ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2b0
push ecx
push edx
call fcn.004b3acc
add esp, 8
cmp dword [ebp - 0x1378], 0x10
lea eax, [ebp - 0x138c]
mov dword [ebp - 0x1334], 0
cmovae eax, dword [ebp - 0x138c]
push eax
push str.LAYOUT
mov dword [ebp - 0x1330], 0xf
mov byte [ebp - 0x1344], 0
call fcn.00412960
add esp, 8
test eax, eax
je 0x40b1af
mov eax, dword [0x668a70]
cmp dword [eax], 0
jne 0x40b1af
cmp dword [ebp + 0x10], 0
jne 0x40b1af
cmp dword [ebp - 0x1378], 0x10
lea edx, [ebp - 0x138c]
xorps xmm0, xmm0
cmovae edx, dword [ebp - 0x138c]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b180
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.004020f0
push dword [ebp + 0x1c]
push dword [ebp - 0x2458]
push dword [ebp - 0x245c]
push dword [0x668a6c]
call fcn.004261e0
add esp, 0x28
push dword [0x668a6c]
call fcn.004247b0
add esp, 4
call fcn.004245e0
call fcn.00402f10
mov ecx, dword [ebp - 0x1378]
cmp ecx, 0x10
jb 0x40b201
mov edx, dword [ebp - 0x138c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b1f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2b5
push ecx
push edx
call fcn.004b3acc
add esp, 8
mov ecx, dword [ebp - 0x2434]
mov dword [ebp - 0x137c], 0
mov dword [ebp - 0x1378], 0xf
mov byte [ebp - 0x138c], 0
test ecx, ecx
je 0x40b255
mov edx, dword [ebp - 0x2420]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff8
cmp edx, 0x1000
jb 0x40b24b
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2b5
push edx
push ecx
call fcn.004b3acc
add esp, 8
mov edx, dword [ebp - 0x241c]
test edx, edx
je 0x40b28e
mov ecx, dword [ebp - 0x2414]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x40b284
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b2b5
push ecx
push edx
call fcn.004b3acc
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b3f28
mov esp, ebp
pop ebp
ret
call fcn.004c342f
call fcn.004c342f
call fcn.004c342f
int3