Function at 0x406b80
Capabilities:
Copy file

Disassembly:
enter 0xca0, 1
push ebx
push ecx
push edx
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
lea eax, [ebp - 0x4a0]
push eax
mov esi, 0x40f04a
lea edi, [ebp - 0x5a0]
call fcn.00401b30
lea eax, [ebp - 0x6a0]
push eax
movzx eax, word [0x40fbb4]
push eax
call fcn.00404d30
lea esi, [ebp - 0x6a0]
lea edi, [ebp - 0x5a0]
call fcn.00401af0
mov eax, edi
push eax
call fcn.0040a5c0
lea eax, [ebp - 0x4a0]
push eax
call fcn.00401e60
lea eax, [ebp - 0x176]
push eax
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x406d0b
lea eax, [ebp - 0x176]
push eax
push 0xff
lea eax, [ebp - 0x276]
push eax
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x406c4d
push 0x40f051
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x406c0b
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x406cff
mov byte [0x40fdb9], 1
mov eax, 0
mov dword [ebp - 0x39f], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x406c9a
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [ebp - 0x39f], eax
call fcn.00404e40
mov al, byte [0x40ed3a]
test al, al
je 0x406cb9
cmp dword [ebp - 0x39f], 0
jle 0x406cb9
mov ax, word [ebp - 0x39f]
mov word [0x40fbb4], ax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x406ce0
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [ebp - 0x39f], eax
call fcn.00404e40
mov al, byte [0x40fdb8]
test al, al
je 0x406cff
cmp dword [ebp - 0x39f], 0
jle 0x406cff
mov ax, word [ebp - 0x39f]
mov word [0x40fbb4], ax
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
je 0x406d14
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
lea eax, [ebp - 0x4a0]
push eax
push 0x40f055
call fcn.0040a5c0
lea eax, [ebp - 0x4a0]
push eax
call fcn.00401e60
lea eax, [ebp - 0x176]
push eax
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
je 0x406db1
lea eax, [ebp - 0x5a0]
push eax
push 0x40f062
call fcn.0040a5c0
lea esi, [ebp - 0x5a0]
lea edi, [ebp - 0x4a0]
call fcn.00401b30
lea eax, [ebp - 0x6a0]
push eax
push 0x59
call fcn.00405a10
lea esi, [ebp - 0x6a0]
lea edi, [ebp - 0x4a0]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00402890
push 0
call fcn.00402570
lea eax, [ebp - 0x176]
push eax
push 0xff
lea eax, [ebp - 0x276]
push eax
call fcn.00405360
call fcn.00404e40
push 0x40f06f
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jne 0x406dfc
call fcn.00404e20
test eax, eax
jne 0x406dfc
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
je 0x406db1
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
je 0x406e16
mov dword [0x40e03e], 0xffffffff
mov eax, 0
mov ecx, 0x1e
mov edi, 0x418170
jecxz 0x406e29
rep stosb byte es:[edi], al
mov eax, 0
mov ecx, 0x2000
mov edi, 0x415d55
jecxz 0x406e3c
rep stosb byte es:[edi], al
mov eax, 0
mov ecx, 0x2000
mov edi, 0x411d53
jecxz 0x406e4f
rep stosb byte es:[edi], al
push 0x800
call fcn.0040ba80
mov dword [0x41816c], eax
mov eax, 0
mov ecx, 0x800
mov edi, dword [0x41816c]
jecxz 0x406e72
rep stosb byte es:[edi], al
push 0x800
call fcn.0040ba80
mov dword [0x418168], eax
push 0x800
call fcn.0040ba80
mov dword [0x418164], eax
mov eax, 0
mov ecx, 0x800
mov edi, dword [0x418168]
jecxz 0x406ea4
rep stosb byte es:[edi], al
mov eax, 0
mov ecx, 0x800
mov edi, dword [0x418164]
jecxz 0x406eb8
rep stosb byte es:[edi], al
mov byte [0x40fc30], 0
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [ebp - 0x37a], eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
mov eax, dword [ebp - 0x37a]
mov dword [ebp - 0x39f], eax
movzx eax, word [0x40fbb4]
test eax, eax
jl 0x406f04
cmp dword [ebp - 0x39f], eax
jge 0x406fc5
mov byte [ebp - 0x38f], 0
mov al, byte [ebp - 0x38f]
test al, al
jne 0x406f78
lea ecx, [ebp - 0x176]
push ecx
call fcn.00404ee0
test al, al
jne 0x406f78
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
push 0xff
lea eax, [ebp - 0x276]
push eax
call fcn.0040ba40
push 0x40f073
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
cmp eax, 1
sete al
mov byte [ebp - 0x38f], al
jmp 0x406f11
mov al, byte [ebp - 0x38f]
test al, al
jne 0x406fc0
mov esi, 0x40eb0a
lea edi, [ebp - 0x4a0]
call fcn.00401b30
lea ecx, [ebp - 0x5a0]
push ecx
push 0x64
call fcn.00405a10
lea esi, [ebp - 0x5a0]
lea edi, [ebp - 0x4a0]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00402890
push 0
call fcn.00402570
jmp 0x407634
mov dword [ebp - 0x37a], 1
mov eax, 0
mov dword [ebp - 0x382], eax
mov edi, 0
mov dword [ebp - 0x38e], edi
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405990
mov edi, 0x40fcb8
lea esi, [ebp - 0x4a0]
call fcn.00401940
mov byte [ebp - 0x38f], 0
mov dword [ebp - 0x38a], 0xffffffff
inc dword [ebp - 0x382]
inc dword [ebp - 0x38e]
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
push 0xff
lea eax, [ebp - 0x276]
push eax
call fcn.0040ba40
push 0x40f077
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
cmp eax, 1
sete al
mov byte [ebp - 0x38f], al
test al, al
jne 0x4073c2
push 0xff
lea ecx, [ebp - 0x276]
push ecx
push 1
push 1
call fcn.00405940
mov esi, 0x40fc31
lea edi, [ebp - 0x4a0]
push 1
call fcn.00401d30
mov eax, edi
push eax
lea ecx, [ebp - 0x276]
push ecx
call fcn.00402aa0
mov dword [ebp - 0x37e], eax
inc dword [ebp - 0x38a]
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x276]
push ecx
push 1
mov eax, dword [ebp - 0x37e]
dec eax
push eax
call fcn.00401cd0
lea edi, [ebp - 0x376]
lea esi, [ebp - 0x4a0]
call fcn.00401940
mov eax, dword [ebp - 0x382]
cmp eax, 1
jne 0x407122
imul ecx, dword [ebp - 0x38a], 0x100
mov eax, esi
push eax
mov eax, edi
push eax
call fcn.00406890
lea edi, [ecx + 0x415d55]
lea esi, [ebp - 0x4a0]
call fcn.00401940
jmp 0x40733a
cmp eax, 2
jne 0x407155
imul ecx, dword [ebp - 0x38a], 0x100
mov eax, esi
push eax
mov eax, edi
push eax
call fcn.00406890
lea edi, [ecx + 0x411d53]
lea esi, [ebp - 0x4a0]
call fcn.00401940
jmp 0x40733a
cmp eax, 3
jne 0x40717c
mov ecx, esi
push ecx
mov eax, edi
push eax
call fcn.00406890
mov edi, 0x417055
lea esi, [ebp - 0x4a0]
call fcn.00401940
jmp 0x40733a
cmp eax, 0xf
jg 0x4071b6
cmp eax, 4
jl 0x4071b6
imul ecx, dword [ebp - 0x38e], 0x100
mov eax, esi
push eax
mov eax, edi
push eax
call fcn.00406890
lea edi, [ecx + 0x411d53]
lea esi, [ebp - 0x4a0]
call fcn.00401940
jmp 0x40733a
cmp eax, 0x14
jg 0x4072a3
cmp eax, 0x10
jl 0x4072a3
mov ecx, esi
push ecx
mov eax, edi
push eax
call fcn.00406890
lea esi, [ebp - 0x4a0]
mov edi, 0x40f07b
call fcn.0040a970
test al, al
je 0x40729e
lea eax, [ebp - 0x376]
push eax
call fcn.00405540
movzx ecx, al
mov dword [ebp - 0x386], ecx
cmp ecx, 0xff
jne 0x407218
mov dword [ebp - 0x393], 1
jmp 0x407223
mov eax, 0
mov dword [ebp - 0x393], eax
cmp dword [ebp - 0x393], 0
je 0x40727e
mov esi, 0x40f07f
lea edi, [ebp - 0x7a0]
call fcn.00401b30
lea esi, [ebp - 0x376]
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x6a0]
call fcn.00401b30
mov esi, 0x40f08d
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x5a0]
call fcn.00401b30
lea esi, [ebp - 0x276]
call fcn.00401af0
mov eax, edi
push eax
call fcn.0040b9f0
mov eax, dword [ebp - 0x38a]
imul ecx, dword [ebp - 0x382], 6
lea edi, [ecx + 0x418110]
mov cl, byte [ebp - 0x386]
mov byte [edi + eax], cl
jmp 0x40733a
cmp eax, 0x15
jne 0x4072cb
lea ecx, [ebp - 0x5a0]
push ecx
mov eax, edi
push eax
call fcn.00406890
mov edi, 0x417255
lea esi, [ebp - 0x5a0]
call fcn.00401940
jmp 0x40733a
cmp eax, 0x16
jne 0x4072f3
lea ecx, [ebp - 0x5a0]
push ecx
mov eax, edi
push eax
call fcn.00406890
mov edi, 0x417155
lea esi, [ebp - 0x5a0]
call fcn.00401940
jmp 0x40733a
cmp eax, 0x17
jne 0x4072fc
jmp 0x40733a
cmp eax, 0x27
jg 0x40733a
cmp eax, 0x18
jl 0x40733a
mov cl, byte [ebp - 0x382]
push ecx
lea eax, [ebp - 0x276]
push eax
call fcn.0040b5d0
mov eax, 0
mov dword [ebp - 0x37e], eax
lea edi, [ebp - 0x276]
mov esi, 0x40f08f
call fcn.00401940
jmp 0x40733a
push 0xff
lea eax, [ebp - 0x276]
push eax
push 1
push dword [ebp - 0x37e]
call fcn.00405940
mov esi, 0x40fc31
lea edi, [ebp - 0x5a0]
push 1
call fcn.00401d30
mov eax, edi
push eax
lea ecx, [ebp - 0x276]
push ecx
call fcn.00402aa0
mov dword [ebp - 0x37e], eax
cmp dword [ebp - 0x37e], 0
je 0x4073af
cmp dword [ebp - 0x382], 1
jne 0x407395
cmp dword [ebp - 0x38a], 0x1e
jge 0x4073af
cmp dword [ebp - 0x382], 2
jne 0x4070b4
cmp dword [ebp - 0x38a], 0x12
jl 0x4070b4
cmp dword [ebp - 0x382], 3
jne 0x4073c2
mov dword [ebp - 0x38e], 0x12
mov al, byte [ebp - 0x38f]
test al, al
jne 0x4073e9
cmp dword [ebp - 0x382], 0x27
jg 0x4073e9
lea ecx, [ebp - 0x176]
push ecx
call fcn.00404ee0
test al, al
je 0x40700f
mov eax, dword [0x418168]
mov edi, dword [0x418164]
mov esi, eax
mov ecx, 0x200
rep movsd dword es:[edi], dword [esi]
cmp byte [0x40fc30], 0
jbe 0x40746d
movzx eax, word [0x40efa8]
cmp word [eax*2 + 0x40fc2c], 0x1000
jae 0x40746d
movzx ecx, ax
mov word [ecx*2 + 0x40fc2c], 0x1000
movzx eax, word [0x40efa8]
movzx ecx, word [eax*2 + 0x40fc2c]
mov dword [0x40ed36], ecx
cmp ecx, 0x100
jae 0x40744d
mov dword [0x40ed36], 0x100
cmp dword [0x40ed36], 0x7d00
jbe 0x407463
mov dword [0x40ed36], 0x7d00
mov eax, dword [0x40ed36]
mov dword [0x40fc2a], eax
mov byte [0x40ed3b], 0
mov byte [0x40ed3c], 0
lea eax, [ebp - 0x5a0]
push eax
push 0x413753
call fcn.00406890
lea esi, [ebp - 0x5a0]
mov edi, 0x40f090
call fcn.0040a970
test al, al
je 0x40750b
push 0x413753
lea eax, [ebp - 0x393]
push eax
call fcn.004056f0
mov dword [ebp - 0x397], eax
cmp dword [ebp - 0x393], 0
je 0x4074cb
mov edi, 0
mov dword [ebp - 0x397], edi
mov eax, dword [ebp - 0x397]
and eax, 1
cmp eax, 1
sete al
mov byte [0x40ed3b], al
mov ecx, dword [ebp - 0x397]
and ecx, 2
cmp ecx, 2
sete al
mov byte [0x40ed3c], al
mov cl, byte [0x40ed3b]
test cl, cl
jne 0x407506
mov al, byte [0x40ed3c]
test al, al
je 0x40750b
call fcn.0040a990
lea eax, [ebp - 0x6a0]
push eax
push 0x413853
call fcn.00406890
lea esi, [ebp - 0x6a0]
mov edi, 0x40f094
call fcn.0040a970
test al, al
je 0x407634
lea eax, [ebp - 0x7a0]
push eax
push 0x413853
call fcn.00405990
lea edi, [ebp - 0x376]
lea esi, [ebp - 0x7a0]
call fcn.00401940
cmp byte [ebp - 0x376], 0
jbe 0x40757f
cmp byte [ebp - 0x375], 0x20
jne 0x40757f
push 0xff
lea eax, [ebp - 0x376]
push eax
push 1
push 1
call fcn.00405940
jmp 0x407556
cmp byte [ebp - 0x375], 0x5a
je 0x4075b0
mov esi, 0x40f098
lea edi, [ebp - 0x7a0]
call fcn.00401b30
lea esi, [ebp - 0x376]
call fcn.00401af0
mov edi, esi
lea esi, [ebp - 0x7a0]
call fcn.00401940
cmp byte [ebp - 0x374], 0x56
je 0x4075d1
push 0x40f09a
push 0xff
lea eax, [ebp - 0x376]
push eax
push 2
call fcn.0040a8b0
cmp byte [ebp - 0x373], 0x53
je 0x4075f2
push 0x40f09c
push 0xff
lea eax, [ebp - 0x376]
push eax
push 3
call fcn.0040a8b0
lea eax, [ebp - 0x7a0]
push eax
lea ecx, [ebp - 0x376]
push ecx
push 1
push 3
call fcn.00401cd0
lea esi, [ebp - 0x7a0]
mov edi, 0x40f09e
call fcn.00405850
test al, al
je 0x407624
mov byte [ebp - 0x374], 0x56
mov edi, 0x413853
lea esi, [ebp - 0x376]
call fcn.00401940
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40765b
movzx eax, word [0x40fbb4]
test eax, eax
jl 0x407655
cmp dword [ebp - 0x39f], eax
jl 0x406ebf
mov ax, word [0x40fbb4]
mov word [0x40ef90], ax
mov word [0x40fbb4], 1
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
je 0x407685
push 0x413253
lea eax, [ebp - 0x393]
push eax
call fcn.004056f0
mov byte [0x411a2e], al
cmp dword [ebp - 0x393], 0
je 0x4076ab
mov byte [0x411a2e], 0
push 0x413353
lea eax, [ebp - 0x393]
push eax
call fcn.004056f0
mov byte [0x411a2f], al
cmp dword [ebp - 0x393], 0
je 0x4076d1
mov byte [0x411a2f], 0
push 0x40f0a2
push 0x413453
call fcn.00402aa0
test eax, eax
jle 0x4077e2
lea eax, [ebp - 0x8a0]
push eax
push 0x413453
push 1
push 0x40f0a4
push 0x413453
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x8a0]
call fcn.00401940
mov eax, edi
push eax
lea ecx, [ebp - 0x393]
push ecx
call fcn.004056f0
mov dword [0x40fbac], eax
cmp dword [ebp - 0x393], 0
je 0x407745
mov dword [0x40fbac], 2
mov eax, 0x3e8
mov dword [ebp - 0x7a4], eax
mov eax, dword [0x40fbac]
mov ecx, dword [ebp - 0x7a4]
mul ecx
mov dword [0x40fbac], eax
lea ecx, [ebp - 0x8a0]
push ecx
push 0x413453
push 0x40f0a6
push 0x413453
call fcn.00402aa0
inc eax
push eax
push 0xff
call fcn.00401cd0
lea edi, [ebp - 0x376]
lea esi, [ebp - 0x8a0]
call fcn.00401940
mov eax, edi
push eax
lea ecx, [ebp - 0x393]
push ecx
call fcn.004056f0
mov dword [0x40fbb0], eax
cmp dword [ebp - 0x393], 0
je 0x4077c3
mov edi, 0
mov dword [0x40fbb0], edi
mov eax, 0x3e8
mov dword [ebp - 0x7a4], eax
mov eax, dword [0x40fbb0]
mov ecx, dword [ebp - 0x7a4]
mul ecx
mov dword [0x40fbb0], eax
jmp 0x407828
push 0x413453
lea eax, [ebp - 0x393]
push eax
call fcn.004056f0
mov dword [0x40fbac], eax
cmp dword [ebp - 0x393], 0
je 0x40780b
mov dword [0x40fbac], 2
mov eax, 0x3e8
mov dword [ebp - 0x7a4], eax
mov eax, dword [0x40fbac]
mov ecx, dword [ebp - 0x7a4]
mul ecx
mov dword [0x40fbac], eax
push 0x40f0a8
push 0x413653
call fcn.00402aa0
test eax, eax
jle 0x4078e5
lea eax, [ebp - 0x8a0]
push eax
push 0x413653
push 1
push 0x40f0aa
push 0x413653
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x8a0]
call fcn.00401940
mov eax, edi
push eax
lea ecx, [ebp - 0x393]
push ecx
call fcn.004056f0
mov dword [0x40fba6], eax
lea ecx, [ebp - 0x8a0]
push ecx
push 0x413653
push 0x40f0ac
push 0x413653
call fcn.00402aa0
inc eax
push eax
push 0xff
call fcn.00401cd0
lea edi, [ebp - 0x376]
lea esi, [ebp - 0x8a0]
call fcn.00401940
mov eax, edi
push eax
lea ecx, [ebp - 0x393]
push ecx
call fcn.004056f0
mov dword [ebp - 0x37a], eax
mov cl, byte [ebp - 0x37a]
mov byte [0x40fbab], cl
jmp 0x4078fb
push 0x413653
lea eax, [ebp - 0x393]
push eax
call fcn.004056f0
mov dword [0x40fba6], eax
cmp dword [ebp - 0x393], 0
je 0x40790e
mov dword [0x40fba6], 0x28
cmp dword [0x40fba6], 0
jl 0x407923
mov al, byte [0x40fba6]
mov byte [0x40fbaa], al
jmp 0x40792a
mov byte [0x40fbaa], 0
mov eax, dword [0x40fba6]
test eax, eax
jge 0x407935
neg eax
mov byte [0x40fba5], al
push 0x411d53
lea ecx, [ebp - 0x393]
push ecx
call fcn.004056f0
mov byte [0x40fba4], al
push 0x415d55
lea ecx, [ebp - 0x393]
push ecx
call fcn.004056f0
mov byte [0x40f880], al
push 0x417155
lea ecx, [ebp - 0x393]
push ecx
call fcn.004056f0
mov word [0x40fba2], ax
cmp dword [ebp - 0x393], 0
je 0x40798f
mov word [0x40fba2], 0
push 0x417255
lea eax, [ebp - 0x393]
push eax
call fcn.004056f0
mov dword [0x40fb9e], eax
cmp dword [ebp - 0x393], 0
je 0x4079b9
mov edi, 0
mov dword [0x40fb9e], edi
mov eax, 0x3e8
mov dword [ebp - 0x7a4], eax
mov eax, dword [0x40fb9e]
mov ecx, dword [ebp - 0x7a4]
mul ecx
mov dword [0x40fb9e], eax
push 0xff
push 0x413a53
call fcn.0040a810
call fcn.00404e20
test eax, eax
jne 0x4079ee
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0x9a0]
call fcn.00401b30
mov esi, 0x40f0ae
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x8a0]
call fcn.00401b30
lea ecx, [ebp - 0xaa0]
push ecx
movzx edx, word [0x40ef90]
push edx
call fcn.00404d30
lea esi, [ebp - 0xaa0]
lea edi, [ebp - 0x8a0]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ecx, [ebp - 0x176]
push ecx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x407b29
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
push 0x40f0bd
lea eax, [ebp - 0x8a0]
push eax
lea ecx, [ebp - 0x276]
push ecx
call fcn.00406890
lea edx, [ebp - 0x8a0]
push edx
call fcn.00402aa0
test eax, eax
setg al
mov byte [0x40fb95], al
push 0x40f0c3
lea ecx, [ebp - 0x8a0]
push ecx
lea eax, [ebp - 0x276]
push eax
call fcn.00406890
lea edx, [ebp - 0x8a0]
push edx
call fcn.00402aa0
test eax, eax
setg al
mov byte [0x40fb94], al
push 0x40f0c9
lea ecx, [ebp - 0x8a0]
push ecx
lea eax, [ebp - 0x276]
push eax
call fcn.00406890
lea edx, [ebp - 0x8a0]
push edx
call fcn.00402aa0
test eax, eax
setg al
mov byte [0x40fb93], al
lea ecx, [ebp - 0x176]
push ecx
call fcn.00401d90
call fcn.00404e20
test eax, eax
jne 0x407b32
mov edi, 0x40fa93
mov esi, 0x40f0ce
call fcn.00401940
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0x9a0]
call fcn.00401b30
mov esi, 0x40f0cf
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x8a0]
call fcn.00401b30
lea ecx, [ebp - 0xaa0]
push ecx
movzx edx, word [0x40efaa]
push edx
call fcn.00404d30
lea esi, [ebp - 0xaa0]
lea edi, [ebp - 0x8a0]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ecx, [ebp - 0x176]
push ecx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x407cc6
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
push 0x40f0dd
lea eax, [ebp - 0x8a0]
push eax
lea ecx, [ebp - 0x276]
push ecx
call fcn.00406890
lea edx, [ebp - 0x8a0]
push edx
call fcn.00402aa0
test eax, eax
jle 0x407c4d
lea edi, [ebp - 0x276]
mov esi, 0x40f0e3
call fcn.00401940
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x407c4b
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
jmp 0x407c5d
lea edi, [ebp - 0x276]
mov esi, 0x40f0e4
call fcn.00401940
mov edi, 0x40fa93
lea esi, [ebp - 0x276]
call fcn.00401940
mov esi, edi
mov edi, 0x40f0e5
call fcn.00406880
test al, al
je 0x407cba
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x407cba
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
mov edi, 0x40f993
lea esi, [ebp - 0x276]
call fcn.00401940
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
jne 0x407ccf
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0x9a0]
call fcn.00401b30
mov esi, 0x40f0e6
call fcn.00401af0
mov ecx, edi
push ecx
call fcn.00401e60
lea edx, [ebp - 0x176]
push edx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x407d4f
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f98f], eax
call fcn.00404e40
mov edi, dword [0x40f98f]
mov dword [0x40ed3d], edi
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
jne 0x407d58
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa0]
call fcn.00401b30
mov esi, 0x40f0f4
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a0]
call fcn.00401b30
lea ecx, [ebp - 0xba0]
push ecx
movzx edx, word [0x40efaa]
push edx
call fcn.00404d30
lea esi, [ebp - 0xba0]
lea edi, [ebp - 0x9a0]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ecx, [ebp - 0x176]
push ecx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x408028
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
push 0x40f101
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
cmp eax, 1
jne 0x407de0
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
push 0x40f105
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x407e67
push 0xff
lea eax, [ebp - 0x276]
push eax
push 0x40f107
push eax
call fcn.00402aa0
push eax
push 0xff
call fcn.00405940
lea eax, [ebp - 0x276]
push eax
call fcn.00405540
mov dword [0x40f98b], eax
lea ecx, [ebp - 0x176]
push ecx
call fcn.0040a440
mov dword [0x40f987], eax
call fcn.00404e40
mov dword [0x40f983], 1
mov edi, 0x40f883
mov esi, 0x40f109
call fcn.00401940
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40801c
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
lea edx, [ebp - 0x9a0]
push edx
lea eax, [ebp - 0x276]
push eax
call fcn.00405990
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9a0]
call fcn.00401940
mov esi, edi
mov edi, 0x40f10a
call fcn.00406880
test al, al
je 0x408017
push 0x40f10b
mov eax, esi
push eax
call fcn.00402aa0
test eax, eax
jle 0x407f43
push 0xff
lea eax, [ebp - 0x276]
push eax
push 0x40f10d
push eax
call fcn.00402aa0
push eax
push 0xff
call fcn.00405940
cmp byte [ebp - 0x275], 0x27
jne 0x407fc5
push 0xff
lea eax, [ebp - 0x276]
push eax
push 1
push 1
call fcn.00405940
push 0x40f10f
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x407f98
push 0xff
lea eax, [ebp - 0x276]
push eax
push 0x40f111
push eax
call fcn.00402aa0
push eax
push 0xff
call fcn.00405940
mov esi, 0x40f883
lea edi, [ebp - 0x9a0]
call fcn.00401b30
lea esi, [ebp - 0x276]
call fcn.00401af0
mov edi, 0x40f883
lea esi, [ebp - 0x9a0]
call fcn.00401940
jmp 0x408017
lea eax, [ebp - 0x276]
push eax
call fcn.00405540
mov dword [ebp - 0x397], eax
mov esi, 0x40f883
lea edi, [ebp - 0x9a0]
call fcn.00401b30
lea esi, [ebp - 0x397]
lea edi, [ebp - 0xaa0]
push 1
call fcn.00401d30
mov esi, edi
lea edi, [ebp - 0x9a0]
call fcn.00401af0
mov edi, 0x40f883
lea esi, [ebp - 0x9a0]
call fcn.00401940
jmp 0x407ea7
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
jne 0x408031
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa0]
call fcn.00401b30
mov esi, 0x40f113
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a0]
call fcn.00401b30
lea ecx, [ebp - 0xba0]
push ecx
movzx edx, word [0x40efaa]
push edx
call fcn.00404d30
lea esi, [ebp - 0xba0]
lea edi, [ebp - 0x9a0]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ecx, [ebp - 0x176]
push ecx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x408150
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
push 0x40f122
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
cmp eax, 1
jne 0x4080b9
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov byte [0x40f882], al
call fcn.00404e40
lea ecx, [ebp - 0x176]
push ecx
call fcn.0040a2a0
mov byte [0x40f881], al
call fcn.00404e40
lea ecx, [ebp - 0x176]
push ecx
call fcn.0040a2a0
mov byte [0x40eb09], al
call fcn.00404e40
lea ecx, [ebp - 0x176]
push ecx
call fcn.0040a2a0
mov byte [0x40efc9], al
call fcn.00404e40
lea ecx, [ebp - 0x176]
push ecx
call fcn.00401d90
call fcn.00404e20
test eax, eax
jne 0x408159
movzx eax, byte [0x40f880]
test eax, eax
jle 0x40819e
mov dword [ebp - 0x8a4], eax
mov edi, 0
mov dword [ebp - 0x397], edi
inc dword [ebp - 0x397]
imul eax, dword [ebp - 0x397], 0x100
lea edi, [eax + 0x413d55]
mov esi, 0x40f126
call fcn.00401940
dec dword [ebp - 0x8a4]
jne 0x408175
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
lea ecx, [ebp - 0x9a4]
push ecx
mov esi, 0x40f127
lea edi, [ebp - 0xaa4]
call fcn.00401b30
lea edx, [ebp - 0xba4]
push edx
movzx eax, word [0x40ef90]
push eax
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0xaa4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.0040a5c0
lea ecx, [ebp - 0x9a4]
push ecx
call fcn.00401e60
lea eax, [ebp - 0x176]
push eax
call fcn.00401ee0
mov cl, byte [0x40eb09]
mov byte [0x40e046], cl
call fcn.00404e20
test eax, eax
jne 0x408317
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408266
push 0x40f130
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x408224
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40830b
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [ebp - 0x397], eax
add esp, 4
cmp dword [ebp - 0x397], 0
jle 0x4082c0
lea eax, [ebp - 0x176]
push eax
push 0xff
imul ecx, dword [ebp - 0x397], 0x100
lea ecx, [ecx + 0x413d55]
push ecx
call fcn.00405360
call fcn.00404e40
imul eax, dword [ebp - 0x397], 0x100
mov dword [ebp - 0x8a8], eax
lea ecx, [ebp - 0x9a8]
push ecx
imul eax, dword [ebp - 0x397], 0x100
lea eax, [eax + 0x413d55]
push eax
call fcn.00405990
mov eax, dword [ebp - 0x8a8]
lea edi, [eax + 0x413d55]
lea esi, [ebp - 0x9a8]
call fcn.00401940
jmp 0x408266
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
jne 0x408320
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f134
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea ecx, [ebp - 0xba4]
push ecx
movzx edx, word [0x40ef90]
push edx
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ecx, [ebp - 0x176]
push ecx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x408431
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ecx, [ebp - 0x276]
push ecx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4083ea
push 0x40f13e
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x4083a8
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408425
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [ebp - 0x37a], eax
call fcn.0040a2a0
mov ecx, dword [ebp - 0x37a]
mov byte [ecx + 0x40f44e], al
call fcn.00404e40
jmp 0x4083ea
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x408441
push 0
call sub.kernel32.dll_SetLastError
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f142
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea ebx, [ebp - 0xba4]
push ebx
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x4085d5
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40850b
push 0x40f14d
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x4084c9
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408531
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f44a], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408557
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f446], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40857d
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f442], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4085a3
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f43e], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4085c9
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f43a], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
je 0x4085de
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x4085ee
push 0
call sub.kernel32.dll_SetLastError
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f151
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea ebx, [ebp - 0xba4]
push ebx
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x408760
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4086b8
push 0x40f157
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x408676
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4086df
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f438], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408706
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f436], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40872d
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f434], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408754
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f432], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
je 0x408769
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x408779
push 0
call sub.kernel32.dll_SetLastError
mov word [0x40f42c], 1
mov word [0x40f42a], 0x78
mov word [0x40f428], 0x24e
mov word [0x40f426], 0xc8
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f15b
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea ebx, [ebp - 0xba4]
push ebx
movzx ecx, word [0x40efaa]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x40895b
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408867
push 0x40f164
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x408825
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40888d
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f42e], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4088b4
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f42c], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4088db
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f42a], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408902
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f428], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408929
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov word [0x40f426], ax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40894f
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f422], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
je 0x408964
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x408974
push 0
call sub.kernel32.dll_SetLastError
mov byte [0x40f421], 0
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f168
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea ebx, [ebp - 0xba4]
push ebx
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x408aad
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408a45
push 0x40f175
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x408a03
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408a72
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
push 0x40f179
lea eax, [ebp - 0x9a4]
push eax
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405990
lea ecx, [ebp - 0x9a4]
push ecx
call fcn.00402aa0
cmp eax, 1
sete al
mov byte [0x40f421], al
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401d90
call fcn.00404e20
test eax, eax
je 0x408ab6
cmp dword [0x40efd5], 0xffffffff
jge 0x408ade
mov dword [0x40efd5], 0xffffffff
mov eax, 0
mov dword [0x40efd1], eax
mov edi, 0
mov dword [0x40efcd], edi
mov eax, 0
mov dword [0x40f373], eax
mov edi, 0
mov dword [0x40f367], edi
mov eax, 0
mov dword [0x40f357], eax
mov byte [0x413d53], 0x11
mov byte [0x413d54], 0x13
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f17b
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea ebx, [ebp - 0xba4]
push ebx
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
mov dword [0x40f41d], eax
test eax, eax
je 0x408d67
mov bl, byte [0x40efcc]
test bl, bl
je 0x408d67
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f18a
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
mov esi, 0x40f19b
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9a4]
call fcn.00401940
mov esi, 0x40eb0a
lea edi, [ebp - 0xba4]
call fcn.00401b30
mov esi, 0x40f19d
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0xaa4]
call fcn.00401b30
lea eax, [ebp - 0xca4]
push eax
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xca4]
lea edi, [ebp - 0xaa4]
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
mov esi, 0x40f1ac
call fcn.00401af0
lea edi, [ebp - 0x376]
lea esi, [ebp - 0x9a4]
call fcn.00401940
push 1
lea eax, [ebp - 0x375]
push eax
lea ebx, [ebp - 0x275]
push ebx
call sub.kernel32.dll_CopyFileA
test al, al
je 0x408ce0
mov esi, 0x40f1ae
lea edi, [ebp - 0xba4]
call fcn.00401b30
mov esi, 0x40eb0a
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f1be
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea eax, [ebp - 0xca4]
push eax
movzx ebx, word [0x40ef90]
push ebx
call fcn.00404d30
lea esi, [ebp - 0xca4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00402890
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaa4]
call fcn.00401b30
mov esi, 0x40f1cd
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9a4]
call fcn.00401b30
lea ebx, [ebp - 0xba4]
push ebx
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xba4]
lea edi, [ebp - 0x9a4]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
call fcn.00404e20
mov dword [0x40f41d], eax
mov bl, byte [0x40eb09]
mov byte [0x40e046], bl
cmp dword [0x40f41d], 0
jne 0x409b7d
mov eax, 0
mov dword [0x40efd5], eax
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408dc0
push 0x40f1dc
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x408d7e
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408df0
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40efd5], eax
call fcn.0040a440
mov dword [0x40f419], eax
call fcn.00404e40
cmp dword [0x40efd5], 0
jne 0x409ab1
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408e2d
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov byte [0x413d53], al
call fcn.0040a2a0
mov byte [0x413d54], al
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408fa1
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
push 0x40f1e0
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x408f34
lea eax, [ebp - 0x9a4]
push eax
lea ebx, [ebp - 0x276]
push ebx
push 1
push 0x40f1e2
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9a4]
push eax
call fcn.00405540
mov dword [0x40efd1], eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
push 1
push 0x40f1e4
push ebx
call fcn.00402aa0
push eax
call fcn.00405940
lea eax, [ebp - 0x9a4]
push eax
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405990
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9a4]
call fcn.00401940
push 0x40f1e6
mov eax, edi
push eax
call fcn.00402aa0
test eax, eax
jle 0x408f21
push 0xff
lea eax, [ebp - 0x276]
push eax
push 0x40f1e8
push eax
call fcn.00402aa0
push eax
push 0xff
call fcn.00405940
lea eax, [ebp - 0x276]
push eax
call fcn.00405540
mov dword [0x40efcd], eax
jmp 0x408fa1
lea eax, [ebp - 0x9a4]
push eax
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405990
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9a4]
call fcn.00401940
push 0x40f1ea
mov eax, edi
push eax
call fcn.00402aa0
test eax, eax
jle 0x408f8b
push 0xff
lea eax, [ebp - 0x276]
push eax
push 0x40f1ec
push eax
call fcn.00402aa0
push eax
push 0xff
call fcn.00405940
lea eax, [ebp - 0x276]
push eax
call fcn.00405540
mov dword [0x40efd1], eax
mov dword [0x40efcd], eax
cmp dword [0x40efd1], 6
jne 0x409124
mov eax, 0
mov ecx, 0x3e
mov edi, 0x40f3db
jecxz 0x408fc1
rep stosb byte es:[edi], al
mov dword [0x40f415], 1
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x408ff1
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3db], eax
call fcn.00404e40
cmp dword [0x40f3db], 0
jle 0x409062
mov eax, dword [0x40f3db]
test eax, eax
jle 0x409062
mov dword [ebp - 0x8a8], eax
mov edi, 0
mov dword [ebp - 0x397], edi
inc dword [ebp - 0x397]
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40905a
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov ebx, dword [ebp - 0x397]
mov byte [ebx + 0x40f3de], al
call fcn.0040a440
mov ebx, dword [ebp - 0x397]
mov dword [ebx*4 + 0x40f3e0], eax
call fcn.00404e40
dec dword [ebp - 0x8a8]
jne 0x409014
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409088
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3f8], eax
call fcn.00404e40
cmp dword [0x40f3f8], 0
jle 0x4090f9
mov eax, dword [0x40f3f8]
test eax, eax
jle 0x4090f9
mov dword [ebp - 0x8ac], eax
mov edi, 0
mov dword [ebp - 0x397], edi
inc dword [ebp - 0x397]
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4090f1
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov ebx, dword [ebp - 0x397]
mov byte [ebx + 0x40f3fb], al
call fcn.0040a440
mov ebx, dword [ebp - 0x397]
mov dword [ebx*4 + 0x40f3fd], eax
call fcn.00404e40
dec dword [ebp - 0x8ac]
jne 0x4090ab
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40911f
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f415], eax
call fcn.00404e40
jmp 0x409aaf
cmp dword [0x40efd1], 7
je 0x40913a
cmp dword [0x40efcd], 7
jne 0x4095ec
mov eax, 0
mov ecx, 0x50
mov edi, 0x40f38b
jecxz 0x40914d
rep stosb byte es:[edi], al
lea ebx, [ebp - 0x176]
push ebx
call fcn.00404ee0
test al, al
jne 0x409173
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f38b], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409199
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f38f], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4091bf
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f393], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409244
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f1ee
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f1f0
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40f397], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4092c9
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f1f2
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f1f4
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40f39b], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4092ef
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f39f], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409315
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3a3], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40933b
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3a7], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409361
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3ab], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409387
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3b3], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4093ad
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3b7], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4093d3
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3af], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409458
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f1f6
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f1f8
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40f3bb], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4094dd
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f1fa
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f1fc
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40f3bf], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409503
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3c3], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409529
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3c7], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40954f
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3cb], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409575
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3cf], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40959b
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3d3], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4095c1
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f3d7], eax
call fcn.00404e40
cmp dword [0x40f3d3], 0x40
jge 0x4095d4
mov dword [0x40f3d3], 0x1000
cmp dword [0x40f3d7], 0x40
jge 0x4095e7
mov dword [0x40f3d7], 0x1000
jmp 0x409aaf
cmp dword [0x40efd1], 8
je 0x409602
cmp dword [0x40efcd], 8
jne 0x409aaf
mov eax, 0
mov ecx, 0x50
mov edi, 0x40efd9
jecxz 0x409615
rep stosb byte es:[edi], al
lea ebx, [ebp - 0x176]
push ebx
call fcn.00404ee0
test al, al
jne 0x40963b
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40efd9], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409661
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40efdd], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409687
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40efe1], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40970c
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f1fe
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f200
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40efe5], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409791
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f202
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f204
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40efe9], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4097b7
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40efed], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4097dd
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40eff1], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409803
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40eff5], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409829
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40eff9], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40984f
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f001], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409875
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f005], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40989b
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40effd], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409920
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f206
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f208
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40f009], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4099a5
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
lea edi, [ebp - 0x9ac]
call fcn.00401b30
mov esi, 0x40f20a
call fcn.00401af0
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
mov eax, esi
push eax
mov ebx, edi
push ebx
push 1
push 0x40f20c
push ebx
call fcn.00402aa0
dec eax
push eax
call fcn.00401cd0
lea eax, [ebp - 0x9ac]
push eax
call fcn.00405540
mov dword [0x40f00d], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4099cb
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f011], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x4099f1
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f015], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409a17
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f019], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409a3d
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f01d], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409a63
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f021], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409a89
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f025], eax
call fcn.00404e40
cmp dword [0x40f021], 0x40
jge 0x409a9c
mov dword [0x40f021], 0x1000
cmp dword [0x40f025], 0x40
jge 0x409aaf
mov dword [0x40f025], 0x1000
jmp 0x409aeb
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409aeb
lea eax, [ebp - 0x176]
push eax
call fcn.0040a440
mov dword [0x40f387], eax
call fcn.0040a440
mov dword [0x40f383], eax
call fcn.0040a440
mov dword [0x40f377], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409b25
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f373], eax
call fcn.0040a2a0
mov dword [0x40f36f], eax
call fcn.0040a2a0
mov dword [0x40f36b], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409b4b
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f367], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409b71
lea eax, [ebp - 0x176]
push eax
call fcn.0040a2a0
mov dword [0x40f357], eax
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
call fcn.00404e20
test eax, eax
je 0x409b86
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x409b96
push 0
call sub.kernel32.dll_SetLastError
mov byte [0x40f049], 0
mov byte [0x40f251], 0
cmp byte [0x413553], 1
jbe 0x409c05
push 0x40f20e
push 0x413553
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
test eax, eax
jne 0x409bdb
push 0x40f210
push 0x413553
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
cmp dword [ebp - 0x37a], 0
setg al
mov byte [0x40f049], al
test al, al
je 0x409c05
push 0xff
push 0x413553
push dword [ebp - 0x37a]
push 1
call fcn.00405940
mov eax, 0
mov dword [0x40f352], eax
mov edi, 0x40f252
mov esi, 0x40f212
call fcn.00401940
cmp byte [0x413553], 1
jbe 0x409c7f
push 0x40f216
push 0x413553
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
test eax, eax
jne 0x409c55
push 0x40f218
push 0x413553
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
cmp dword [ebp - 0x37a], 0
jle 0x409c7f
mov dword [0x40f352], 0x21
push 0xff
push 0x413553
push dword [ebp - 0x37a]
push 1
call fcn.00405940
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaac]
call fcn.00401b30
mov esi, 0x40f21a
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9ac]
call fcn.00401b30
lea ebx, [ebp - 0xbac]
push ebx
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xbac]
lea edi, [ebp - 0x9ac]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
mov eax, 0
mov dword [0x40f352], eax
call fcn.00404e20
test eax, eax
jne 0x409f99
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409d53
push 0x40f221
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x409d11
mov edi, 0x40f252
mov esi, 0x40f225
call fcn.00401940
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409d8d
lea eax, [ebp - 0x176]
push eax
push 0xff
push 0x40f252
call fcn.00405360
call fcn.00404e40
push 0x40f229
push 0x40f252
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
test eax, eax
jne 0x409dbb
push 0x40f22b
push 0x40f252
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
cmp dword [ebp - 0x37a], 0
jle 0x409de2
push 0xff
push 0x40f252
push dword [ebp - 0x37a]
push 1
call fcn.00405940
mov byte [0x40f049], 1
push 0x40f22d
push 0x40f252
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
test eax, eax
jne 0x409e10
push 0x40f22f
push 0x40f252
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
cmp dword [ebp - 0x37a], 0
jle 0x409e37
push 0xff
push 0x40f252
push dword [ebp - 0x37a]
push 1
call fcn.00405940
mov byte [0x40f356], 1
push 0x40f231
push 0x40f252
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
test eax, eax
jne 0x409e65
push 0x40f233
push 0x40f252
call fcn.00402aa0
mov dword [ebp - 0x37a], eax
cmp dword [ebp - 0x37a], 0
jle 0x409f6e
lea edi, [ebp - 0x276]
mov esi, 0x40f235
call fcn.00401940
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409ef0
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea esi, [ebp - 0x276]
mov edi, 0x40f239
call fcn.00405850
test al, al
je 0x409ef0
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x409ef0
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x9ac]
push eax
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405990
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
push 0x40f23a
mov eax, edi
push eax
call fcn.00402aa0
test eax, eax
jle 0x409f47
push 0xff
lea eax, [ebp - 0x276]
push eax
push 0x40f23c
push eax
call fcn.00402aa0
push eax
push 0xff
call fcn.00405940
lea eax, [ebp - 0x276]
push eax
lea ebx, [ebp - 0x393]
push ebx
call fcn.004056f0
mov dword [ebp - 0x397], eax
cmp dword [ebp - 0x393], 0
jne 0x409f6e
mov dword [0x40f352], eax
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
mov esi, 0x40f252
mov edi, 0x40f23e
call fcn.0040a290
test al, al
je 0x409f99
mov edi, esi
mov esi, 0x40f23f
call fcn.00401940
mov al, byte [0x40efc9]
mov byte [0x40e046], al
lea eax, [ebp - 0x176]
push eax
mov esi, 0x40eb0a
lea edi, [ebp - 0xaac]
call fcn.00401b30
mov esi, 0x40f243
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x9ac]
call fcn.00401b30
lea ebx, [ebp - 0xbac]
push ebx
movzx ecx, word [0x40ef90]
push ecx
call fcn.00404d30
lea esi, [ebp - 0xbac]
lea edi, [ebp - 0x9ac]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0x176]
push ebx
call fcn.00401ee0
mov al, byte [0x40eb09]
mov byte [0x40e046], al
call fcn.00404e20
test eax, eax
jne 0x40a19d
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40a063
push 0x40f249
lea eax, [ebp - 0x276]
push eax
call fcn.00402aa0
test eax, eax
jle 0x40a021
mov byte [0x40f251], 1
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40a097
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea eax, [ebp - 0x9ac]
push eax
lea ebx, [ebp - 0x276]
push ebx
call fcn.00406890
lea edi, [ebp - 0x276]
lea esi, [ebp - 0x9ac]
call fcn.00401940
push 0x40f24d
mov eax, edi
push eax
call fcn.00402aa0
test eax, eax
setg al
mov byte [0x40f251], al
push 0x40f24f
lea ebx, [ebp - 0x276]
push ebx
call fcn.00402aa0
test eax, eax
setg al
mov byte [0x40f049], al
lea ebx, [ebp - 0x176]
push ebx
call fcn.00404ee0
test al, al
jne 0x40a13f
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea ecx, [ebp - 0x9ac]
push ecx
lea eax, [ebp - 0x276]
push eax
call fcn.0040a1b0
mov edi, 0x40f042
lea esi, [ebp - 0x9ac]
push 6
call fcn.00401950
lea eax, [ebp - 0x176]
push eax
call fcn.00404ee0
test al, al
jne 0x40a191
lea eax, [ebp - 0x176]
push eax
push 0xff
lea ebx, [ebp - 0x276]
push ebx
call fcn.00405360
call fcn.00404e40
lea ecx, [ebp - 0x9ac]
push ecx
lea eax, [ebp - 0x276]
push eax
call fcn.0040a1b0
mov edi, 0x40f03b
lea esi, [ebp - 0x9ac]
push 6
call fcn.00401950
lea eax, [ebp - 0x176]
push eax
call fcn.00401d90
pop edx
pop ecx
pop ebx
leave
ret