Function at 0x407200
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x598
push ebx
push esi
push edi
lea edi, [ebp - 0x598]
mov ecx, 0x166
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
and eax, 0xffff
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x558]
sub ecx, 1
mov dword [ebp - 0x558], ecx
cmp dword [ebp - 0x558], 0xf9
ja case.0x407260.86
mov eax, dword [ebp - 0x558]
xor edx, edx
mov dl, byte [eax + 0x40b0f7]
jmp dword [edx*4 + 0x40af9b]
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0x1c]
mov ax, word [edx]
push eax
mov ecx, dword [ebp + 0x18]
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00406ea0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x407297
xor eax, eax
jmp 0x40af85
jmp case.0x407260.86
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x1c]
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 0x18]
mov ax, word [edx]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00407050
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4072cc
xor eax, eax
jmp 0x40af85
jmp case.0x407260.86
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00406d20
test eax, eax
je 0x4072f1
mov eax, 8
jmp 0x40af85
xor eax, eax
jmp 0x40af85
call fcn.00401d20
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x40730e
call fcn.00401d20
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x40736e
call fcn.00401a60
lea eax, [ebp - 0x44]
push eax
call fcn.0040d510
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x407364
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
mov dword [ecx], edx
mov eax, dword [ebp + 0x14]
cmp dword [eax], 1
jne 0x40735d
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0
mov edx, dword [ebp - 0x44]
and edx, 0xff
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov word [ecx], 0
xor eax, eax
jmp 0x40af85
mov eax, 3
jmp 0x40af85
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 4]
mov dword [edx], eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0
push 0
call fcn.00401d50
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xa0100001
jne 0x4073a6
push str.No_such_device.
call fcn.00401980
add esp, 4
mov eax, 3
jmp 0x40af85
mov edx, dword [ebp + 0xc]
mov ax, word [ebp - 4]
mov word [edx], ax
mov dword [0x42af58], 1
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404d40
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4073df
mov eax, 3
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [edx + 0x42b094], ecx
xor eax, eax
jmp 0x40af85
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00402f70
test eax, eax
je 0x40741f
mov eax, 8
jmp 0x40af85
xor eax, eax
jmp 0x40af85
push 4
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.0041d270
add esp, 0xc
push 4
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0x1c]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0x14]
push eax
call fcn.0041d270
add esp, 0xc
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.004053f0
test eax, eax
je 0x40748e
mov eax, 0x1d
jmp 0x40af85
xor eax, eax
jmp 0x40af85
push 4
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x20]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.0041d270
add esp, 0xc
push 4
mov ecx, dword [ebp + 0x24]
push ecx
lea edx, [ebp - 0x14]
push edx
call fcn.0041d270
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004055d0
test eax, eax
je 0x4074fd
mov eax, 0x1d
jmp 0x40af85
xor eax, eax
jmp 0x40af85
push 4
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 4
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.0041d270
add esp, 0xc
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00405750
test eax, eax
je 0x40756c
mov eax, 5
jmp 0x40af85
xor eax, eax
jmp 0x40af85
cmp dword [0x42af54], 0
jne 0x407586
mov eax, 0x12
jmp 0x40af85
mov edx, dword [0x42af58]
cmp edx, dword [0x42af54]
jne 0x40759e
mov eax, 0x11
jmp 0x40af85
cmp dword [0x42af58], 0
jne 0x4075b1
mov eax, 0x12
jmp 0x40af85
mov eax, dword [ebp + 0x10]
push eax
push 0
push 0
call fcn.00401d50
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xa0100001
jne 0x4075e1
push str.No_such_device.
call fcn.00401980
add esp, 4
mov eax, 3
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
mov dx, word [ebp - 4]
mov word [ecx], dx
mov eax, dword [0x42af58]
add eax, 1
mov dword [0x42af58], eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404d40
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40761d
mov eax, 3
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov esi, esp
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp esi, esp
call fcn.0041cdce
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
add edx, 0x42af68
mov esi, esp
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp esi, esp
call fcn.0041cdce
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
mov dword [edx + 0x42af88], eax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.0041cdce
cmp eax, 0xb7
jne 0x407691
mov eax, 0x29
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
cmp dword [ecx + 0x42af88], 0
jne 0x4076b6
xor eax, eax
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
imul eax, eax, 0x140
mov esi, esp
mov ecx, dword [eax + 0x42af88]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp esi, esp
call fcn.0041cdce
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
imul eax, eax, 0x140
mov esi, esp
mov ecx, dword [eax + 0x42af88]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.0041cdce
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
imul eax, eax, 0x140
mov dword [eax + 0x42af88], 0
xor eax, eax
jmp 0x40af85
mov esi, esp
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp esi, esp
call fcn.0041cdce
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
cmp edx, 0x20
jl 0x407745
mov eax, 0xa0100002
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42af68
mov esi, esp
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp esi, esp
call fcn.0041cdce
mov dword [ebp - 0x48], eax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.0041cdce
cmp eax, 0xb7
jne 0x4077b6
mov esi, esp
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp esi, esp
call fcn.0041cdce
mov esi, esp
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.0041cdce
mov eax, 0x29
jmp 0x40af85
mov esi, esp
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp esi, esp
call fcn.0041cdce
mov esi, esp
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.0041cdce
push 4
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 4
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.0041d270
add esp, 0xc
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
imul eax, eax, 0x140
movsx ecx, byte [eax + 0x42b0a1]
cmp ecx, 0x57
jne 0x407845
xor eax, eax
jmp 0x40af85
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00402af0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xa0100024
jne 0x407873
mov eax, 0x2a
jmp 0x40af85
cmp dword [ebp - 4], 0
je 0x407883
mov eax, 5
jmp 0x40af85
push 4
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x70], 1
mov esi, esp
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp esi, esp
call fcn.0041cdce
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42af68
mov esi, esp
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp esi, esp
call fcn.0041cdce
mov dword [ebp - 0x74], eax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.0041cdce
cmp eax, 0xb7
jne 0x407922
mov esi, esp
mov edx, dword [ebp - 0x74]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp esi, esp
call fcn.0041cdce
mov esi, esp
mov eax, dword [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.0041cdce
mov eax, 0x29
jmp 0x40af85
mov esi, esp
mov ecx, dword [ebp - 0x74]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp esi, esp
call fcn.0041cdce
mov esi, esp
mov edx, dword [ebp - 0x74]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.0041cdce
push 4
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 4
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.0041d270
add esp, 0xc
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00402910
mov cl, byte [ebp - 0x70]
push ecx
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00402d30
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xa0100024
jne 0x4079ca
mov eax, 0x2a
jmp 0x40af85
cmp dword [ebp - 4], 0
je 0x4079da
mov eax, 5
jmp 0x40af85
push 4
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
movsx eax, byte [edx + 0x42b0a1]
cmp eax, 0x57
jne 0x407a14
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00402600
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.004019a0
xor eax, eax
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.004027b0
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00402910
jmp 0x40af85
mov dword [ebp - 0x84], 0
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 0x1000
jle 0x407a81
mov eax, 7
jmp 0x40af85
mov edx, dword [ebp + 0x18]
xor eax, eax
mov ax, word [edx]
mov ecx, dword [ebp + 0x1c]
xor edx, edx
mov dx, word [ecx]
add eax, edx
cmp eax, 0x1000
jle 0x407aa4
mov eax, 7
jmp 0x40af85
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jl 0x407abc
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov ax, word [edx]
test eax, eax
jge 0x407ac6
mov eax, 7
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
movsx eax, byte [edx + 0x42b0a1]
cmp eax, 0x57
jne 0x407bdb
mov dword [ebp - 0xa4], 0
mov ecx, dword [str.C:_path_Time.txt]
mov dword [ebp - 0x1a4], ecx
mov edx, dword [0x426864]
mov dword [ebp - 0x1a0], edx
mov eax, dword [0x426868]
mov dword [ebp - 0x19c], eax
mov ecx, dword [0x42686c]
mov dword [ebp - 0x198], ecx
mov dx, word [0x426870]
mov word [ebp - 0x194], dx
mov al, byte [0x426872]
mov byte [ebp - 0x192], al
mov ecx, 0x3b
xor eax, eax
lea edi, [ebp - 0x191]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
mov al, byte [edx + 0x42b0a2]
mov byte [ebp - 0x1a4], al
push 0x42685c
lea ecx, [ebp - 0x1a4]
push ecx
call fcn.0041d92a
add esp, 8
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jne 0x407b8d
mov eax, 8
jmp 0x40af85
push 0
mov edx, dword [ebp + 0x18]
xor eax, eax
mov ax, word [edx]
push eax
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.0041d87e
add esp, 0xc
mov edx, dword [ebp - 0xa4]
push edx
push 1
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 0x28]
push edx
call fcn.0041d796
add esp, 0x10
mov eax, dword [ebp - 0xa4]
push eax
call fcn.0041d740
add esp, 4
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dx, word [ecx]
add edx, 0x10
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov cx, word [eax]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0x9c]
and edx, 0x8000000f
jns 0x407c0d
dec edx
or edx, 0xfffffff0
inc edx
test edx, edx
je 0x407d12
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
cdq
mov ecx, 0x1e0
idiv ecx
add eax, 1
mov byte [ebp - 0x80], al
mov eax, dword [ebp - 0x9c]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
shl eax, 4
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x80]
and edx, 0xff
sub edx, 1
imul edx, edx, 0x1e0
mov eax, dword [ebp - 0x78]
sub eax, edx
mov dword [ebp - 0x7c], eax
lea ecx, [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
mov al, byte [ebp - 0x80]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404530
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x407c94
mov eax, 0xa
jmp 0x40af85
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x1a8], eax
jmp 0x407cc3
mov ecx, dword [ebp - 0x1a8]
add ecx, 1
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x84]
add edx, 1
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x1a8], 0x10
jge 0x407cf4
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0xa0]
jge 0x407cf4
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x1a8]
mov al, byte [ebp + edx - 0x94]
mov byte [ecx], al
jmp 0x407ca5
cmp dword [ebp - 0x98], 0
je 0x407d07
mov eax, 0xa
jmp 0x40af85
mov ecx, dword [ebp - 0x78]
add ecx, 0x10
mov dword [ebp - 0x78], ecx
jmp 0x407d1b
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0x78]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1ac]
jge 0x407e2f
mov eax, dword [ebp - 0x78]
cdq
mov ecx, 0x1e0
idiv ecx
add eax, 1
mov byte [ebp - 0x80], al
mov edx, dword [ebp - 0x80]
and edx, 0xff
sub edx, 1
imul edx, edx, 0x1e0
mov eax, dword [ebp - 0x78]
sub eax, edx
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x84], ecx
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x7c]
push eax
mov cl, byte [ebp - 0x80]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404530
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x407dc5
mov eax, 0xa
jmp 0x40af85
mov dword [ebp - 0x1b4], 0
jmp 0x407de0
mov ecx, dword [ebp - 0x1b4]
add ecx, 1
mov dword [ebp - 0x1b4], ecx
cmp dword [ebp - 0x1b4], 0x10
jge 0x407e12
mov edx, dword [ebp + 0x28]
add edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x1b4]
mov cl, byte [ebp + eax - 0x94]
mov byte [edx], cl
mov edx, dword [ebp - 0x84]
add edx, 1
mov dword [ebp - 0x84], edx
jmp 0x407dd1
mov eax, dword [ebp - 0x1b0]
add eax, 1
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x78]
add ecx, 0x10
mov dword [ebp - 0x78], ecx
jmp 0x407d43
mov edx, dword [ebp - 0x9c]
add edx, dword [ebp - 0xa0]
cmp edx, dword [ebp - 0x78]
jle 0x407f30
mov eax, dword [ebp - 0x78]
cdq
mov ecx, 0x1e0
idiv ecx
add eax, 1
mov byte [ebp - 0x80], al
mov edx, dword [ebp - 0x80]
and edx, 0xff
sub edx, 1
imul edx, edx, 0x1e0
mov eax, dword [ebp - 0x78]
sub eax, edx
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x84], ecx
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x7c]
push eax
mov cl, byte [ebp - 0x80]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404530
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x407eb4
mov eax, 0xa
jmp 0x40af85
mov dword [ebp - 0x1b8], 0
jmp 0x407ecf
mov ecx, dword [ebp - 0x1b8]
add ecx, 1
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x9c]
add edx, dword [ebp - 0xa0]
sub edx, dword [ebp - 0x78]
cmp dword [ebp - 0x1b8], edx
jge 0x407f1d
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0xa0]
jge 0x407f1d
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x1b8]
mov al, byte [ebp + edx - 0x94]
mov byte [ecx], al
mov ecx, dword [ebp - 0x84]
add ecx, 1
mov dword [ebp - 0x84], ecx
jmp 0x407ec0
cmp dword [ebp - 0x98], 0
je 0x407f30
mov eax, 0xa
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov dword [ebp - 0x1c8], 0
mov edx, dword [ebp + 0x18]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x1000
jle 0x407f5a
mov eax, 7
jmp 0x40af85
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dx, word [ecx]
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov cx, word [eax]
add edx, ecx
cmp edx, 0x1000
jle 0x407f7e
mov eax, 7
jmp 0x40af85
mov edx, dword [ebp + 0x18]
xor eax, eax
mov ax, word [edx]
test eax, eax
jl 0x407f96
mov ecx, dword [ebp + 0x1c]
xor edx, edx
mov dx, word [ecx]
test edx, edx
jge 0x407fa0
mov eax, 7
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
movsx edx, byte [ecx + 0x42b0a1]
cmp edx, 0x57
jne 0x4080b5
mov dword [ebp - 0x1e8], 0
mov eax, dword [str.C:_path_Time.txt]
mov dword [ebp - 0x2e8], eax
mov ecx, dword [0x426864]
mov dword [ebp - 0x2e4], ecx
mov edx, dword [0x426868]
mov dword [ebp - 0x2e0], edx
mov eax, dword [0x42686c]
mov dword [ebp - 0x2dc], eax
mov cx, word [0x426870]
mov word [ebp - 0x2d8], cx
mov dl, byte [0x426872]
mov byte [ebp - 0x2d6], dl
mov ecx, 0x3b
xor eax, eax
lea edi, [ebp - 0x2d5]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
mov dl, byte [ecx + 0x42b0a2]
mov byte [ebp - 0x2e8], dl
push 0x426858
lea eax, [ebp - 0x2e8]
push eax
call fcn.0041d92a
add esp, 8
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0
jne 0x408067
mov eax, 8
jmp 0x40af85
push 0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dx, word [ecx]
push edx
mov eax, dword [ebp - 0x1e8]
push eax
call fcn.0041d87e
add esp, 0xc
mov ecx, dword [ebp - 0x1e8]
push ecx
push 1
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov ax, word [edx]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
call fcn.0041d636
add esp, 0x10
mov edx, dword [ebp - 0x1e8]
push edx
call fcn.0041d740
add esp, 4
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cx, word [eax]
add ecx, 0x10
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov ax, word [edx]
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e0]
and ecx, 0x8000000f
jns 0x4080e7
dec ecx
or ecx, 0xfffffff0
inc ecx
test ecx, ecx
je 0x408239
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1bc]
cdq
mov ecx, 0x1e0
idiv ecx
add eax, 1
mov byte [ebp - 0x1c4], al
mov eax, dword [ebp - 0x1e0]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
shl eax, 4
mov dword [ebp - 0x1bc], eax
mov edx, dword [ebp - 0x1c4]
and edx, 0xff
sub edx, 1
imul edx, edx, 0x1e0
mov eax, dword [ebp - 0x1bc]
sub eax, edx
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x1d8]
push ecx
mov edx, dword [ebp - 0x1c0]
push edx
mov al, byte [ebp - 0x1c4]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404530
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x408189
mov eax, 0xb
jmp 0x40af85
mov eax, dword [ebp - 0x1e0]
sub eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x2ec], eax
jmp 0x4081bb
mov ecx, dword [ebp - 0x2ec]
add ecx, 1
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x2ec], 0x10
jge 0x4081ec
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1e4]
jge 0x4081ec
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x2ec]
mov al, byte [ecx]
mov byte [ebp + edx - 0x1d8], al
jmp 0x40819d
lea ecx, [ebp - 0x1d8]
push ecx
mov edx, dword [ebp - 0x1c0]
push edx
mov al, byte [ebp - 0x1c4]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404320
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x408228
mov eax, 0xb
jmp 0x40af85
mov eax, dword [ebp - 0x1bc]
add eax, 0x10
mov dword [ebp - 0x1bc], eax
jmp 0x408245
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1bc], ecx
mov eax, dword [ebp - 0x1e0]
add eax, dword [ebp - 0x1e4]
sub eax, dword [ebp - 0x1bc]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2f4], 0
mov edx, dword [ebp - 0x2f4]
cmp edx, dword [ebp - 0x2f0]
jge 0x40837a
mov eax, dword [ebp - 0x1bc]
cdq
mov ecx, 0x1e0
idiv ecx
add eax, 1
mov byte [ebp - 0x1c4], al
mov edx, dword [ebp - 0x1c4]
and edx, 0xff
sub edx, 1
imul edx, edx, 0x1e0
mov eax, dword [ebp - 0x1bc]
sub eax, edx
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1bc]
sub ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x2f8], 0
jmp 0x4082e9
mov edx, dword [ebp - 0x2f8]
add edx, 1
mov dword [ebp - 0x2f8], edx
cmp dword [ebp - 0x2f8], 0x10
jge 0x40831b
mov eax, dword [ebp + 0x28]
add eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x2f8]
mov dl, byte [eax]
mov byte [ebp + ecx - 0x1d8], dl
mov eax, dword [ebp - 0x1c8]
add eax, 1
mov dword [ebp - 0x1c8], eax
jmp 0x4082da
lea ecx, [ebp - 0x1d8]
push ecx
mov edx, dword [ebp - 0x1c0]
push edx
mov al, byte [ebp - 0x1c4]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404320
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x408357
mov eax, 0xb
jmp 0x40af85
mov eax, dword [ebp - 0x2f4]
add eax, 1
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x1bc]
add ecx, 0x10
mov dword [ebp - 0x1bc], ecx
jmp 0x408270
mov edx, dword [ebp - 0x1e0]
add edx, dword [ebp - 0x1e4]
cmp edx, dword [ebp - 0x1bc]
jle 0x4084d6
mov eax, dword [ebp - 0x1bc]
cdq
mov ecx, 0x1e0
idiv ecx
add eax, 1
mov byte [ebp - 0x1c4], al
mov edx, dword [ebp - 0x1c4]
and edx, 0xff
sub edx, 1
imul edx, edx, 0x1e0
mov eax, dword [ebp - 0x1bc]
sub eax, edx
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1bc]
sub ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1c8], ecx
lea edx, [ebp - 0x1d8]
push edx
mov eax, dword [ebp - 0x1c0]
push eax
mov cl, byte [ebp - 0x1c4]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404530
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x40841a
mov eax, 0xb
jmp 0x40af85
mov dword [ebp - 0x2fc], 0
jmp 0x408435
mov ecx, dword [ebp - 0x2fc]
add ecx, 1
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x1e0]
add edx, dword [ebp - 0x1e4]
sub edx, dword [ebp - 0x1bc]
cmp dword [ebp - 0x2fc], edx
jge 0x4084a0
mov eax, dword [ebp - 0x1e0]
add eax, dword [ebp - 0x1e4]
sub eax, dword [ebp - 0x1bc]
cmp dword [ebp - 0x2fc], eax
jge 0x4084a0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1e4]
jge 0x4084a0
mov edx, dword [ebp + 0x28]
add edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x2fc]
mov cl, byte [edx]
mov byte [ebp + eax - 0x1d8], cl
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
jmp 0x408426
lea eax, [ebp - 0x1d8]
push eax
mov ecx, dword [ebp - 0x1c0]
push ecx
mov dl, byte [ebp - 0x1c4]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00404320
cmp dword [ebp - 0x1dc], 0
je 0x4084d6
mov eax, 0xb
jmp 0x40af85
xor eax, eax
jmp 0x40af85
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.004022d0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408502
mov eax, 0xc
jmp 0x40af85
push 2
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0041d270
add esp, 0xc
push 2
lea ecx, [ebp - 0xe]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
call fcn.0041d270
add esp, 0xc
push 2
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
lea edx, [ebp - 0xa]
push edx
mov eax, dword [ebp + 0x24]
push eax
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x300], edx
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x300]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00403440
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408588
mov eax, 0xd
jmp 0x40af85
push 2
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 2
lea eax, [ebp - 0xe]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp + 0x20]
push eax
call fcn.0041d270
add esp, 0xc
push 2
lea ecx, [ebp - 0xa]
push ecx
mov edx, dword [ebp + 0x24]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x304]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x304]
mov byte [ebp - 0x302], dl
mov al, byte [ebp - 0x303]
mov byte [ebp - 0x304], al
mov cl, byte [ebp - 0x302]
mov byte [ebp - 0x303], cl
push 2
lea edx, [ebp - 0x304]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0x304]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x304]
mov byte [ebp - 0x302], al
mov cl, byte [ebp - 0x303]
mov byte [ebp - 0x304], cl
mov dl, byte [ebp - 0x302]
mov byte [ebp - 0x303], dl
push 2
lea eax, [ebp - 0x304]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0x304]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x304]
mov byte [ebp - 0x302], cl
mov dl, byte [ebp - 0x303]
mov byte [ebp - 0x304], dl
mov al, byte [ebp - 0x302]
mov byte [ebp - 0x303], al
push 2
lea ecx, [ebp - 0x304]
push ecx
mov edx, dword [ebp + 0x20]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x304]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x304]
mov byte [ebp - 0x302], dl
mov al, byte [ebp - 0x303]
mov byte [ebp - 0x304], al
mov cl, byte [ebp - 0x302]
mov byte [ebp - 0x303], cl
push 2
lea edx, [ebp - 0x304]
push edx
mov eax, dword [ebp + 0x24]
push eax
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
push 4
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x24]
push edx
call fcn.0041d270
add esp, 0xc
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00402130
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408746
mov eax, 6
jmp 0x40af85
xor eax, eax
jmp 0x40af85
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00401f90
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408772
mov eax, 0xf
jmp 0x40af85
push 4
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov edx, dword [ebp + 0x18]
xor eax, eax
mov ax, word [edx]
cmp eax, 0xff
jle 0x4087a4
mov eax, 7
jmp 0x40af85
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dx, word [ecx]
mov dword [ebp - 0x308], edx
mov eax, dword [ebp + 0x20]
mov cl, byte [eax]
mov byte [ebp - 0x30c], cl
mov edx, dword [ebp + 0x1c]
mov ax, word [edx]
mov word [ebp - 0x310], ax
mov cx, word [ebp - 0x310]
push ecx
mov dl, byte [ebp - 0x30c]
push edx
mov eax, dword [ebp - 0x308]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404b50
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408801
mov eax, 0x13
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 0xff
jle 0x408822
mov eax, 7
jmp 0x40af85
mov byte [ebp - 0x314], 0
mov byte [ebp - 0x318], 0
lea edx, [ebp - 0x318]
push edx
lea eax, [ebp - 0x314]
push eax
mov ecx, dword [ebp + 0x18]
mov dl, byte [ecx]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00405090
mov dword [ebp - 4], eax
movzx dx, byte [ebp - 0x314]
mov eax, dword [ebp + 0x1c]
mov word [eax], dx
movzx cx, byte [ebp - 0x318]
mov edx, dword [ebp + 0x20]
mov word [edx], cx
cmp dword [ebp - 4], 0
jge 0x408881
mov eax, 0x13
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jl 0x4088a1
mov edx, dword [ebp + 0x18]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x7f
jle 0x4088ab
mov eax, 7
jmp 0x40af85
mov ecx, dword [ebp + 0x28]
push ecx
call fcn.00406090
add esp, 4
and eax, 0xffff
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4088cd
mov eax, dword [ebp - 4]
jmp 0x40af85
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x18]
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00406590
add esp, 0xc
test eax, eax
jne 0x4088f7
mov eax, 0xffff
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x31c], 1
mov ecx, dword [ebp + 0x14]
mov dl, byte [ecx]
mov byte [ebp - 0x320], dl
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x324], cl
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0x7f
jbe 0x40892d
mov eax, 7
jmp 0x40af85
mov eax, dword [ebp - 0x320]
and eax, 0xff
cmp eax, 0xff
jle 0x408949
mov eax, 7
jmp 0x40af85
push 2
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x328]
mov byte [ebp - 0x326], al
mov cl, byte [ebp - 0x327]
mov byte [ebp - 0x328], cl
mov dl, byte [ebp - 0x326]
mov byte [ebp - 0x327], dl
push 2
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0x328]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x328]
mov byte [ebp - 0x326], cl
mov dl, byte [ebp - 0x327]
mov byte [ebp - 0x328], dl
mov al, byte [ebp - 0x326]
mov byte [ebp - 0x327], al
push 2
lea ecx, [ebp - 0x328]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [ebp - 0x328]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x328]
mov byte [ebp - 0x326], dl
mov al, byte [ebp - 0x327]
mov byte [ebp - 0x328], al
mov cl, byte [ebp - 0x326]
mov byte [ebp - 0x327], cl
push 2
lea edx, [ebp - 0x328]
push edx
mov eax, dword [ebp + 0x20]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x24]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x328]
mov byte [ebp - 0x326], al
mov cl, byte [ebp - 0x327]
mov byte [ebp - 0x328], cl
mov dl, byte [ebp - 0x326]
mov byte [ebp - 0x327], dl
push 2
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x10]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0xe]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [ebp - 0xc]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0xa]
push eax
call fcn.0041d270
add esp, 0xc
lea ecx, [ebp - 0x10]
push ecx
mov dl, byte [ebp - 0x324]
push edx
mov al, byte [ebp - 0x320]
push eax
mov cl, byte [ebp - 0x31c]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404920
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408b01
mov eax, dword [ebp - 4]
jmp 0x40af85
push 2
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 2
lea eax, [ebp - 0xe]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp + 0x20]
push eax
call fcn.0041d270
add esp, 0xc
push 2
lea ecx, [ebp - 0xa]
push ecx
mov edx, dword [ebp + 0x24]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x328]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x328]
mov byte [ebp - 0x326], dl
mov al, byte [ebp - 0x327]
mov byte [ebp - 0x328], al
mov cl, byte [ebp - 0x326]
mov byte [ebp - 0x327], cl
push 2
lea edx, [ebp - 0x328]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x328]
mov byte [ebp - 0x326], al
mov cl, byte [ebp - 0x327]
mov byte [ebp - 0x328], cl
mov dl, byte [ebp - 0x326]
mov byte [ebp - 0x327], dl
push 2
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0x328]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x328]
mov byte [ebp - 0x326], cl
mov dl, byte [ebp - 0x327]
mov byte [ebp - 0x328], dl
mov al, byte [ebp - 0x326]
mov byte [ebp - 0x327], al
push 2
lea ecx, [ebp - 0x328]
push ecx
mov edx, dword [ebp + 0x20]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x328]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x328]
mov byte [ebp - 0x326], dl
mov al, byte [ebp - 0x327]
mov byte [ebp - 0x328], al
mov cl, byte [ebp - 0x326]
mov byte [ebp - 0x327], cl
push 2
lea edx, [ebp - 0x328]
push edx
mov eax, dword [ebp + 0x24]
push eax
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x32c], 2
mov byte [ebp - 0x330], 0
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
mov byte [ebp - 0x334], dl
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0x7f
jbe 0x408cb3
mov eax, 7
jmp 0x40af85
mov ecx, dword [ebp - 0x330]
and ecx, 0xff
cmp ecx, 0xff
jle 0x408cd1
mov eax, 7
jmp 0x40af85
push 2
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x344]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x344]
mov byte [ebp - 0x342], cl
mov dl, byte [ebp - 0x343]
mov byte [ebp - 0x344], dl
mov al, byte [ebp - 0x342]
mov byte [ebp - 0x343], al
push 2
lea ecx, [ebp - 0x344]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x344]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x344]
mov byte [ebp - 0x342], dl
mov al, byte [ebp - 0x343]
mov byte [ebp - 0x344], al
mov cl, byte [ebp - 0x342]
mov byte [ebp - 0x343], cl
push 2
lea edx, [ebp - 0x344]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x344]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x344]
mov byte [ebp - 0x342], al
mov cl, byte [ebp - 0x343]
mov byte [ebp - 0x344], cl
mov dl, byte [ebp - 0x342]
mov byte [ebp - 0x343], dl
push 2
lea eax, [ebp - 0x344]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0x344]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x344]
mov byte [ebp - 0x342], cl
mov dl, byte [ebp - 0x343]
mov byte [ebp - 0x344], dl
mov al, byte [ebp - 0x342]
mov byte [ebp - 0x343], al
push 2
lea ecx, [ebp - 0x344]
push ecx
mov edx, dword [ebp + 0x24]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0xe]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0xc]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0xa]
push ecx
call fcn.0041d270
add esp, 0xc
mov edx, dword [ebp - 0x32c]
and edx, 0xff
cmp edx, 2
jne 0x408e9a
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x338], ecx
lea edx, [ebp - 0x340]
push edx
mov eax, dword [ebp - 0x338]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00403440
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408e9a
mov eax, dword [ebp - 4]
jmp 0x40af85
lea eax, [ebp - 0x10]
push eax
mov cl, byte [ebp - 0x334]
push ecx
mov dl, byte [ebp - 0x330]
push edx
mov al, byte [ebp - 0x32c]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404920
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x408ed2
mov eax, dword [ebp - 4]
jmp 0x40af85
push 2
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
lea edx, [ebp - 0xe]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 2
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp + 0x20]
push edx
call fcn.0041d270
add esp, 0xc
push 2
lea eax, [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x344]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x344]
mov byte [ebp - 0x342], cl
mov dl, byte [ebp - 0x343]
mov byte [ebp - 0x344], dl
mov al, byte [ebp - 0x342]
mov byte [ebp - 0x343], al
push 2
lea ecx, [ebp - 0x344]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x344]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x344]
mov byte [ebp - 0x342], dl
mov al, byte [ebp - 0x343]
mov byte [ebp - 0x344], al
mov cl, byte [ebp - 0x342]
mov byte [ebp - 0x343], cl
push 2
lea edx, [ebp - 0x344]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x344]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x344]
mov byte [ebp - 0x342], al
mov cl, byte [ebp - 0x343]
mov byte [ebp - 0x344], cl
mov dl, byte [ebp - 0x342]
mov byte [ebp - 0x343], dl
push 2
lea eax, [ebp - 0x344]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0x344]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x344]
mov byte [ebp - 0x342], cl
mov dl, byte [ebp - 0x343]
mov byte [ebp - 0x344], dl
mov al, byte [ebp - 0x342]
mov byte [ebp - 0x343], al
push 2
lea ecx, [ebp - 0x344]
push ecx
mov edx, dword [ebp + 0x24]
push edx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x348], 3
mov eax, dword [ebp + 0x14]
mov cl, byte [eax]
mov byte [ebp - 0x34c], cl
mov edx, dword [ebp + 0x10]
mov al, byte [edx]
mov byte [ebp - 0x350], al
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0x7f
jbe 0x409088
mov eax, 7
jmp 0x40af85
mov edx, dword [ebp - 0x34c]
and edx, 0xff
cmp edx, 0xff
jle 0x4090a6
mov eax, 7
jmp 0x40af85
push 2
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x354]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x354]
mov byte [ebp - 0x352], dl
mov al, byte [ebp - 0x353]
mov byte [ebp - 0x354], al
mov cl, byte [ebp - 0x352]
mov byte [ebp - 0x353], cl
push 2
lea edx, [ebp - 0x354]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0x354]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x354]
mov byte [ebp - 0x352], al
mov cl, byte [ebp - 0x353]
mov byte [ebp - 0x354], cl
mov dl, byte [ebp - 0x352]
mov byte [ebp - 0x353], dl
push 2
lea eax, [ebp - 0x354]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0x354]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x354]
mov byte [ebp - 0x352], cl
mov dl, byte [ebp - 0x353]
mov byte [ebp - 0x354], dl
mov al, byte [ebp - 0x352]
mov byte [ebp - 0x353], al
push 2
lea ecx, [ebp - 0x354]
push ecx
mov edx, dword [ebp + 0x20]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x354]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x354]
mov byte [ebp - 0x352], dl
mov al, byte [ebp - 0x353]
mov byte [ebp - 0x354], al
mov cl, byte [ebp - 0x352]
mov byte [ebp - 0x353], cl
push 2
lea edx, [ebp - 0x354]
push edx
mov eax, dword [ebp + 0x24]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x10]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0xe]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0xc]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x24]
push ecx
lea edx, [ebp - 0xa]
push edx
call fcn.0041d270
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
mov cl, byte [ebp - 0x350]
push ecx
mov dl, byte [ebp - 0x34c]
push edx
mov al, byte [ebp - 0x348]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404920
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x40925e
mov eax, dword [ebp - 4]
jmp 0x40af85
push 2
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
lea edx, [ebp - 0xe]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 2
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp + 0x20]
push edx
call fcn.0041d270
add esp, 0xc
push 2
lea eax, [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x354]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x354]
mov byte [ebp - 0x352], cl
mov dl, byte [ebp - 0x353]
mov byte [ebp - 0x354], dl
mov al, byte [ebp - 0x352]
mov byte [ebp - 0x353], al
push 2
lea ecx, [ebp - 0x354]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 2
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x354]
push ecx
call fcn.0041d270
add esp, 0xc
mov dl, byte [ebp - 0x354]
mov byte [ebp - 0x352], dl
mov al, byte [ebp - 0x353]
mov byte [ebp - 0x354], al
mov cl, byte [ebp - 0x352]
mov byte [ebp - 0x353], cl
push 2
lea edx, [ebp - 0x354]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
push 2
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x354]
push edx
call fcn.0041d270
add esp, 0xc
mov al, byte [ebp - 0x354]
mov byte [ebp - 0x352], al
mov cl, byte [ebp - 0x353]
mov byte [ebp - 0x354], cl
mov dl, byte [ebp - 0x352]
mov byte [ebp - 0x353], dl
push 2
lea eax, [ebp - 0x354]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
push 2
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0x354]
push eax
call fcn.0041d270
add esp, 0xc
mov cl, byte [ebp - 0x354]
mov byte [ebp - 0x352], cl
mov dl, byte [ebp - 0x353]
mov byte [ebp - 0x354], dl
mov al, byte [ebp - 0x352]
mov byte [ebp - 0x353], al
push 2
lea ecx, [ebp - 0x354]
push ecx
mov edx, dword [ebp + 0x24]
push edx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cx, word [eax]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x358]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00404ef0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x40941b
mov eax, 0x13
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov edx, dword [ebp + 0x10]
cmp dword [edx], 1
jb 0x409432
mov eax, dword [ebp + 0x10]
cmp dword [eax], 3
jbe 0x40943c
mov eax, 0x1c
jmp 0x40af85
mov dword [ebp - 0x35c], 0
jmp 0x409457
mov ecx, dword [ebp - 0x35c]
add ecx, 1
mov dword [ebp - 0x35c], ecx
cmp dword [ebp - 0x35c], 0x10
jge 0x409471
call fcn.0041cffe
mov edx, dword [ebp - 0x35c]
mov byte [ebp + edx - 0x20], al
jmp 0x409448
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00405cf0
mov dword [ebp - 4], eax
push 0x10
push 0
lea edx, [ebp - 0x20]
push edx
call fcn.0041d210
add esp, 0xc
cmp dword [ebp - 4], 0
je 0x4094aa
mov eax, dword [ebp - 4]
jmp 0x40af85
xor eax, eax
jmp 0x40af85
lea eax, [ebp - 0x3b4]
push eax
call fcn.00417470
add esp, 4
push 4
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x3b4]
push edx
call fcn.004174d0
add esp, 0xc
lea eax, [ebp - 0x3b4]
push eax
lea ecx, [ebp - 0x3c4]
push ecx
call fcn.00417620
add esp, 8
cmp dword [0x42af58], 1
jae 0x4094fe
mov eax, 0xf
jmp 0x40af85
mov dword [ebp - 0x3c8], 0
jmp 0x409519
mov edx, dword [ebp - 0x3c8]
add edx, 1
mov dword [ebp - 0x3c8], edx
cmp dword [ebp - 0x3c8], 0x10
jge 0x40954f
mov eax, dword [ebp - 0x3c8]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x3c4]
push ecx
push str._02x
mov edx, dword [ebp - 0x3c8]
lea eax, [ebp + edx*2 - 0x3ec]
push eax
call fcn.0041d5e4
add esp, 0xc
jmp 0x40950a
push 0x10
push 0
lea ecx, [ebp - 0x20]
push ecx
call fcn.0041d210
add esp, 0xc
mov dword [ebp - 0x3c8], 0
jmp 0x40957a
mov edx, dword [ebp - 0x3c8]
add edx, 1
mov dword [ebp - 0x3c8], edx
cmp dword [ebp - 0x3c8], 0x10
jge 0x4095a6
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3c8]
mov dl, byte [ebp + eax - 0x20]
xor dl, byte [ebp + ecx - 0x3c4]
mov eax, dword [ebp - 0x3c8]
mov byte [ebp + eax - 0x20], dl
jmp 0x40956b
push 0x10
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x3c4]
push edx
call fcn.0041d270
add esp, 0xc
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00405af0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4095e4
mov eax, 0x1d
jmp 0x40af85
push 4
lea ecx, [ebp - 0x3c4]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0041d270
add esp, 0xc
push 4
lea eax, [ebp - 0x3c0]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
lea edx, [ebp - 0x3bc]
push edx
mov eax, dword [ebp + 0x20]
push eax
call fcn.0041d270
add esp, 0xc
push 4
lea ecx, [ebp - 0x3b8]
push ecx
mov edx, dword [ebp + 0x24]
push edx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
add ecx, 7
shr ecx, 3
mov dword [ebp - 0x3f0], ecx
mov edx, dword [ebp + 0x14]
mov al, byte [edx]
mov byte [ebp - 0x3f4], al
mov byte [ebp - 0x3f8], 1
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
xor edx, edx
mov ecx, 8
div ecx
test edx, edx
je 0x40967e
mov eax, 7
jmp 0x40af85
mov edx, dword [ebp - 0x3f4]
and edx, 0xff
cmp edx, 1
jl 0x40969f
mov eax, dword [ebp - 0x3f4]
and eax, 0xff
cmp eax, 3
jle 0x4096a9
mov eax, 0x1c
jmp 0x40af85
mov dword [ebp - 0x3fc], 0
mov ecx, dword [ebp - 0x3fc]
cmp ecx, dword [ebp - 0x3f0]
jge 0x409796
mov dword [ebp - 0x400], 0
jmp 0x4096e0
mov edx, dword [ebp - 0x400]
add edx, 1
mov dword [ebp - 0x400], edx
cmp dword [ebp - 0x400], 8
jge 0x40970a
mov eax, dword [ebp - 0x3fc]
mov ecx, dword [ebp - 0x400]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x400]
mov ecx, dword [ebp + 0x28]
mov dl, byte [ecx + edx]
mov byte [ebp + eax - 0x10], dl
jmp 0x4096d1
lea eax, [ebp - 0x10]
push eax
mov cl, byte [ebp - 0x3f4]
push ecx
mov dl, byte [ebp - 0x3f8]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.004030d0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40973d
mov eax, 0x20
jmp 0x40af85
mov dword [ebp - 0x404], 0
jmp 0x409758
mov edx, dword [ebp - 0x404]
add edx, 1
mov dword [ebp - 0x404], edx
cmp dword [ebp - 0x404], 8
jge 0x409782
mov eax, dword [ebp - 0x3fc]
mov ecx, dword [ebp - 0x404]
lea edx, [ecx + eax*8]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x404]
mov cl, byte [ebp + ecx - 0x10]
mov byte [eax + edx], cl
jmp 0x409749
mov edx, dword [ebp - 0x3fc]
add edx, 1
mov dword [ebp - 0x3fc], edx
jmp 0x4096b3
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
add ecx, 7
shr ecx, 3
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp + 0x14]
mov al, byte [edx]
mov byte [ebp - 0x40c], al
mov byte [ebp - 0x410], 2
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
xor edx, edx
mov ecx, 8
div ecx
test edx, edx
je 0x4097dc
mov eax, 7
jmp 0x40af85
mov edx, dword [ebp - 0x40c]
and edx, 0xff
cmp edx, 1
jl 0x4097fd
mov eax, dword [ebp - 0x40c]
and eax, 0xff
cmp eax, 3
jle 0x409807
mov eax, 0x1c
jmp 0x40af85
mov dword [ebp - 0x414], 0
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x408]
jge 0x4098f4
mov dword [ebp - 0x418], 0
jmp 0x40983e
mov edx, dword [ebp - 0x418]
add edx, 1
mov dword [ebp - 0x418], edx
cmp dword [ebp - 0x418], 8
jge 0x409868
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x418]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp + 0x28]
mov dl, byte [ecx + edx]
mov byte [ebp + eax - 0x10], dl
jmp 0x40982f
lea eax, [ebp - 0x10]
push eax
mov cl, byte [ebp - 0x40c]
push ecx
mov dl, byte [ebp - 0x410]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.004030d0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40989b
mov eax, 0x20
jmp 0x40af85
mov dword [ebp - 0x41c], 0
jmp 0x4098b6
mov edx, dword [ebp - 0x41c]
add edx, 1
mov dword [ebp - 0x41c], edx
cmp dword [ebp - 0x41c], 8
jge 0x4098e0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x41c]
lea edx, [ecx + eax*8]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x41c]
mov cl, byte [ebp + ecx - 0x10]
mov byte [eax + edx], cl
jmp 0x4098a7
mov edx, dword [ebp - 0x414]
add edx, 1
mov dword [ebp - 0x414], edx
jmp 0x409811
xor eax, eax
jmp 0x40af85
lea eax, [ebp - 0x474]
push eax
call fcn.00417470
add esp, 4
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0x28]
push eax
lea ecx, [ebp - 0x474]
push ecx
call fcn.004174d0
add esp, 0xc
lea edx, [ebp - 0x474]
push edx
lea eax, [ebp - 0x484]
push eax
call fcn.00417620
add esp, 8
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x40999a
mov dword [ebp - 0x488], 0
jmp 0x40995c
mov edx, dword [ebp - 0x488]
add edx, 1
mov dword [ebp - 0x488], edx
cmp dword [ebp - 0x488], 0x10
jge 0x409991
mov eax, dword [ebp - 0x488]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x484]
push ecx
push str._02x
mov edx, dword [ebp - 0x488]
mov eax, dword [ebp + 0x28]
lea ecx, [eax + edx*2]
push ecx
call fcn.0041d5e4
add esp, 0xc
jmp 0x40994d
mov edx, dword [ebp + 0x28]
mov byte [edx + 0x20], 0
jmp 0x4099b6
push 0x10
lea eax, [ebp - 0x484]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
call fcn.0041d270
add esp, 0xc
mov edx, dword [ebp + 0x28]
mov byte [edx + 0x10], 0
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x48c], 0x10
mov dword [ebp - 0x490], 0x1e0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x490]
push ecx
mov dl, byte [ebp - 0x48c]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409a01
mov eax, 0x1e
jmp 0x40af85
push 4
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x494], 0x10
mov dword [ebp - 0x498], 0x1e0
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x498]
push edx
mov al, byte [ebp - 0x494]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409a5e
mov eax, 0x1f
jmp 0x40af85
push 4
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.0041d270
add esp, 0xc
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x498]
push eax
mov cl, byte [ebp - 0x494]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404320
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409aa3
mov eax, 0x1f
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x49c], 0x10
mov dword [ebp - 0x4a0], 0x1e0
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x4a0]
push edx
mov al, byte [ebp - 0x49c]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409aee
mov eax, 0xa
jmp 0x40af85
push 4
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x4a4], 0x10
mov dword [ebp - 0x4a8], 0x1e0
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x4a8]
push eax
mov cl, byte [ebp - 0x4a4]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409b4b
mov eax, 0xa
jmp 0x40af85
push 4
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x4ac], 0x10
mov dword [ebp - 0x4b0], 0x1e0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x4b0]
push ecx
mov dl, byte [ebp - 0x4ac]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409ba8
mov eax, 0xa
jmp 0x40af85
push 4
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
push 4
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x20]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.0041d270
add esp, 0xc
push 4
mov ecx, dword [ebp + 0x24]
push ecx
lea edx, [ebp - 0x14]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x24]
push ecx
call fcn.0041d270
add esp, 0xc
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004058d0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409c44
mov eax, 0x1d
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x10]
cmp dword [eax], 1
jb 0x409c5b
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 3
jbe 0x409c65
mov eax, 0x1c
jmp 0x40af85
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00405ec0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409c8e
mov eax, dword [ebp - 4]
jmp 0x40af85
push 0x10
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp + 0x28]
push edx
call fcn.0041d270
add esp, 0xc
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x4b4], 0x10
mov dword [ebp - 0x4b8], 0x1e0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x4b8]
push ecx
mov dl, byte [ebp - 0x4b4]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409ceb
mov eax, 0xa
jmp 0x40af85
push 4
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.0041d270
add esp, 0xc
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x4b8]
push edx
mov al, byte [ebp - 0x4b4]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404320
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409d30
mov eax, 0xb
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x4bc], 0x10
mov dword [ebp - 0x4c0], 0x1e0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x4c0]
push ecx
mov dl, byte [ebp - 0x4bc]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409d7b
mov eax, 0xa
jmp 0x40af85
push 4
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.0041d270
add esp, 0xc
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x4c0]
push edx
mov al, byte [ebp - 0x4bc]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404320
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409dc0
mov eax, 0xb
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov byte [ebp - 0x4c4], 0x10
mov dword [ebp - 0x4c8], 0x1e0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x4c8]
push ecx
mov dl, byte [ebp - 0x4c4]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00404530
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409e0b
mov eax, 0xa
jmp 0x40af85
push 4
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x14]
push eax
call fcn.0041d270
add esp, 0xc
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x4c8]
push edx
mov al, byte [ebp - 0x4c4]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404320
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409e50
mov eax, 0xb
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x18]
mov dl, byte [ecx]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00405240
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x409e82
mov eax, 0x13
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov edx, dword [ebp + 0x10]
mov al, byte [edx]
mov byte [ebp - 0x4cc], al
mov ecx, dword [ebp - 0x4cc]
and ecx, 0xff
cmp ecx, 0x20
jl 0x409eaf
mov eax, 0xa0100004
jmp 0x40af85
push 0x10
push 0
lea edx, [ebp - 0x4dc]
push edx
call fcn.0041d210
add esp, 0xc
lea eax, [ebp - 0x4dc]
push eax
mov ecx, dword [ebp - 0x4cc]
and ecx, 0xff
shl ecx, 4
push ecx
push 0xf
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404320
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409efc
mov eax, 0x24
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
movsx eax, byte [edx + 0x42b0a1]
cmp eax, 0x57
jne 0x409fe4
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.0040ddc0
add esp, 4
test eax, eax
jne 0x409fc3
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
mov edx, dword [ebp + 0x28]
mov al, byte [ecx + 0x42b0a2]
mov byte [edx], al
call fcn.00401a60
mov esi, esp
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.0041cdce
mov dword [ebp - 8], 0
jmp 0x409f7e
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x14
jge 0x409fb9
lea edx, [ebp - 0x500]
push edx
call fcn.0040d950
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x409fa3
xor eax, eax
jmp 0x40af85
mov esi, esp
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.0041cdce
jmp 0x409f75
mov eax, 5
jmp 0x40af85
call fcn.00401a60
lea eax, [ebp - 0x500]
push eax
call fcn.0040d510
add esp, 4
mov dword [ebp - 4], eax
mov eax, 5
jmp 0x40af85
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00403670
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40a007
mov eax, dword [ebp - 4]
jmp 0x40af85
lea ecx, [ebp - 0x4e0]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00404d40
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40a02d
mov eax, dword [ebp - 4]
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
imul edx, edx, 0x140
mov eax, dword [ebp - 0x4e0]
mov dword [edx + 0x42b094], eax
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040df40
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x40a06f
mov eax, 0x11
jmp 0x40af85
xor eax, eax
jmp 0x40af85
push 0
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403f40
jmp 0x40af85
push 1
push 0
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403f40
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
imul eax, eax, 0x140
movsx ecx, byte [eax + 0x42b0a1]
cmp ecx, 0x57
jne 0x40a0f8
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040de80
add esp, 4
test eax, eax
jne 0x40a0e9
call fcn.00401a60
xor eax, eax
jmp 0x40af85
call fcn.00401a60
mov eax, 5
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00403c90
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.004039f0
jmp 0x40af85
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040f940
add esp, 0xc
cmp eax, 1
jne 0x40a145
xor eax, eax
jmp 0x40af85
mov eax, 8
jmp 0x40af85
mov ecx, dword [str.Drive]
mov dword [ebp - 0x534], ecx
mov dx, word [0x42684c]
mov word [ebp - 0x530], dx
xor eax, eax
mov dword [ebp - 0x52e], eax
mov dword [ebp - 0x52a], eax
mov dword [ebp - 0x526], eax
mov word [ebp - 0x522], ax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x534]
push eax
lea ecx, [ebp - 0x534]
push ecx
push 1
push 0
push 0x400
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
imul eax, eax, 0x140
mov ecx, dword [eax + 0x42b08c]
push ecx
call fcn.004170f0
add esp, 0x1c
cmp eax, 1
jne 0x40a1d8
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00403df0
xor eax, eax
jmp 0x40af85
mov eax, 8
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.0040fd30
add esp, 4
cmp eax, 1
jne 0x40a1ff
xor eax, eax
jmp 0x40af85
mov eax, 8
jmp 0x40af85
mov eax, dword [ebp + 0x24]
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 0x20]
mov ax, word [edx]
push eax
mov ecx, dword [ebp + 0x1c]
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 0x18]
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040ec30
add esp, 0x14
cmp eax, 1
jne 0x40a250
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00403df0
xor eax, eax
jmp 0x40af85
mov eax, 8
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403df0
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040f3d0
add esp, 4
cmp eax, 1
jne 0x40a285
xor eax, eax
jmp 0x40af85
mov eax, 8
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00403df0
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403b40
jmp 0x40af85
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.0040f850
add esp, 0xc
cmp eax, 1
jne 0x40a2d5
xor eax, eax
jmp 0x40af85
mov eax, 8
jmp 0x40af85
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040eaa0
add esp, 0x10
jmp 0x40af85
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040eb00
add esp, 0x10
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.004032f0
test eax, eax
je 0x40a347
mov eax, 0xf6
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
mov ecx, edx
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00413800
add esp, 8
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403df0
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004032f0
test eax, eax
je 0x40a3c7
mov eax, 0xf6
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00413960
add esp, 8
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00403df0
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
mov ecx, edx
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.004032f0
test eax, eax
je 0x40a445
mov eax, 0xf6
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00413b00
add esp, 4
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403df0
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
mov ecx, edx
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00414ea0
add esp, 8
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00403df0
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.004032f0
test eax, eax
je 0x40a525
mov eax, 0xf6
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
mov ecx, edx
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00416360
add esp, 8
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004032f0
test eax, eax
je 0x40a598
mov eax, 0xf6
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00411f40
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403df0
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004032f0
test eax, eax
je 0x40a622
mov eax, 0xf6
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004130e0
add esp, 0xc
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00403df0
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004032f0
test eax, eax
je 0x40a6a4
mov eax, 0xf6
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00411c90
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.004032f0
test eax, eax
je 0x40a71e
mov eax, 0xf6
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
mov ecx, edx
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00411080
add esp, 8
and eax, 0xff
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.004032f0
test eax, eax
je 0x40a793
mov eax, 0xf6
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
mov ecx, edx
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00411480
add esp, 4
and eax, 0xff
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 4]
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004032f0
test eax, eax
je 0x40a806
mov eax, 0xf6
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00416490
add esp, 8
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
xor eax, eax
jmp 0x40af85
push 4
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.0041d270
add esp, 0xc
push 4
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0x1c]
push edx
call fcn.0041d270
add esp, 0xc
push 4
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.0041d270
add esp, 0xc
push 4
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0x14]
push eax
call fcn.0041d270
add esp, 0xc
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00405750
test eax, eax
je 0x40a8c1
mov eax, 5
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
mov ecx, edx
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00410710
add esp, 4
mov dword [ebp - 0x538], eax
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
mov eax, dword [ebp - 0x538]
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.004032f0
test eax, eax
je 0x40a935
mov eax, 0xf6
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040ca60
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00416450
add esp, 4
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
mov ecx, eax
imul ecx, ecx, 0x140
add ecx, 0x42b09c
call fcn.0040cab0
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.0040b730
jmp 0x40af85
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040b3a0
jmp 0x40af85
mov dword [ebp - 0x53c], 0
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 4
jne 0x40a9f7
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov ax, word [edx]
cmp eax, 3
jg 0x40a9eb
mov ecx, dword [ebp + 0x1c]
xor edx, edx
mov dx, word [ecx]
test edx, edx
jge 0x40a9f5
mov eax, 0x2c
jmp 0x40af85
jmp 0x40aa1a
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 0xe
jg 0x40aa10
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov ax, word [edx]
test eax, eax
jge 0x40aa1a
mov eax, 0x2c
jmp 0x40af85
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0x200
jbe 0x40aa2f
mov eax, 0x6e
jmp 0x40af85
mov word [ebp - 0x540], 0
mov word [ebp - 0x540], 0
jmp 0x40aa55
mov dx, word [ebp - 0x540]
add dx, 1
mov word [ebp - 0x540], dx
mov eax, dword [ebp - 0x540]
and eax, 0xffff
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
shr edx, 4
cmp eax, edx
jae 0x40aaae
mov eax, dword [ebp - 0x540]
and eax, 0xffff
shl eax, 4
mov ecx, dword [ebp + 0x28]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x540]
and edx, 0xffff
shl edx, 4
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040bec0
test eax, eax
je 0x40aaac
mov eax, 0x20
jmp 0x40af85
jmp 0x40aa43
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
xor edx, edx
mov ecx, 0x10
div ecx
test edx, edx
je 0x40ab01
mov edx, dword [ebp - 0x540]
and edx, 0xffff
shl edx, 4
mov eax, dword [ebp + 0x28]
add eax, edx
push eax
mov ecx, dword [ebp - 0x540]
and ecx, 0xffff
shl ecx, 4
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040bec0
test eax, eax
je 0x40ab01
mov eax, 0x20
jmp 0x40af85
mov ecx, dword [ebp + 0x1c]
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 0x18]
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040b960
mov dword [ebp - 0x53c], eax
cmp dword [ebp - 0x53c], 0
je 0x40ab55
cmp dword [ebp - 0x53c], 0x2c
jne 0x40ab4b
mov eax, 0x2c
jmp 0x40af85
mov eax, 0x20
jmp 0x40af85
mov word [ebp - 0x544], 0
mov word [ebp - 0x544], 0
jmp 0x40ab7b
mov dx, word [ebp - 0x544]
add dx, 1
mov word [ebp - 0x544], dx
mov eax, dword [ebp - 0x544]
and eax, 0xffff
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
shr edx, 4
cmp eax, edx
jae 0x40abd4
mov eax, dword [ebp - 0x544]
and eax, 0xffff
shl eax, 4
mov ecx, dword [ebp + 0x28]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x544]
and edx, 0xffff
shl edx, 4
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040c240
test eax, eax
je 0x40abd2
mov eax, 0x20
jmp 0x40af85
jmp 0x40ab69
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
xor edx, edx
mov ecx, 0x10
div ecx
test edx, edx
je 0x40ac27
mov edx, dword [ebp - 0x544]
and edx, 0xffff
shl edx, 4
mov eax, dword [ebp + 0x28]
add eax, edx
push eax
mov ecx, dword [ebp - 0x544]
and ecx, 0xffff
shl ecx, 4
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040c240
test eax, eax
je 0x40ac27
mov eax, 0x20
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov dword [ebp - 0x548], 0
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 4
jne 0x40ac65
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov ax, word [edx]
cmp eax, 3
jg 0x40ac59
mov ecx, dword [ebp + 0x1c]
xor edx, edx
mov dx, word [ecx]
test edx, edx
jge 0x40ac63
mov eax, 0x2c
jmp 0x40af85
jmp 0x40ac88
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 0xe
jg 0x40ac7e
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov ax, word [edx]
test eax, eax
jge 0x40ac88
mov eax, 0x2c
jmp 0x40af85
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0x200
jbe 0x40ac9d
mov eax, 8
jmp 0x40af85
mov word [ebp - 0x54c], 0
mov word [ebp - 0x54c], 0
jmp 0x40acc3
mov dx, word [ebp - 0x54c]
add dx, 1
mov word [ebp - 0x54c], dx
mov eax, dword [ebp - 0x54c]
and eax, 0xffff
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
shr edx, 4
cmp eax, edx
jae 0x40ad1c
mov eax, dword [ebp - 0x54c]
and eax, 0xffff
shl eax, 4
mov ecx, dword [ebp + 0x28]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x54c]
and edx, 0xffff
shl edx, 4
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040bd00
test eax, eax
je 0x40ad1a
mov eax, 0x21
jmp 0x40af85
jmp 0x40acb1
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
xor edx, edx
mov ecx, 0x10
div ecx
test edx, edx
je 0x40ad6f
mov edx, dword [ebp - 0x54c]
and edx, 0xffff
shl edx, 4
mov eax, dword [ebp + 0x28]
add eax, edx
push eax
mov ecx, dword [ebp - 0x54c]
and ecx, 0xffff
shl ecx, 4
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040bd00
test eax, eax
je 0x40ad6f
mov eax, 0x21
jmp 0x40af85
mov ecx, dword [ebp + 0x1c]
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 0x18]
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040bb30
mov dword [ebp - 0x548], eax
cmp dword [ebp - 0x548], 0
je 0x40adc3
cmp dword [ebp - 0x548], 0x2c
jne 0x40adb9
mov eax, 0x2c
jmp 0x40af85
mov eax, 0x21
jmp 0x40af85
mov word [ebp - 0x550], 0
mov word [ebp - 0x550], 0
jmp 0x40ade9
mov dx, word [ebp - 0x550]
add dx, 1
mov word [ebp - 0x550], dx
mov eax, dword [ebp - 0x550]
and eax, 0xffff
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
shr edx, 4
cmp eax, edx
jae 0x40ae42
mov eax, dword [ebp - 0x550]
and eax, 0xffff
shl eax, 4
mov ecx, dword [ebp + 0x28]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x550]
and edx, 0xffff
shl edx, 4
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040c080
test eax, eax
je 0x40ae40
mov eax, 0x21
jmp 0x40af85
jmp 0x40add7
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
xor edx, edx
mov ecx, 0x10
div ecx
test edx, edx
je 0x40ae95
mov edx, dword [ebp - 0x550]
and edx, 0xffff
shl edx, 4
mov eax, dword [ebp + 0x28]
add eax, edx
push eax
mov ecx, dword [ebp - 0x550]
and ecx, 0xffff
shl ecx, 4
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.0040c080
test eax, eax
je 0x40ae95
mov eax, 0x21
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov dword [ebp - 0x554], 0
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.0040b200
jmp 0x40af85
call fcn.004100d0
test eax, eax
je 0x40aed4
mov eax, 8
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov edx, dword [ebp + 0x28]
push edx
call fcn.0040fe00
add esp, 4
test eax, eax
je 0x40aef5
mov eax, 8
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
imul ecx, ecx, 0x140
mov edx, dword [ebp + 0x28]
mov al, byte [ecx + 0x42b0a4]
mov byte [edx], al
xor eax, eax
jmp 0x40af85
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push eax
call fcn.00403830
jmp 0x40af85
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00403c90
jmp 0x40af85
push 1
push 0
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.00404130
jmp 0x40af85
call fcn.00410200
jmp 0x40af85
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx]
push edx
call fcn.0040e2c0
add esp, 8
test eax, eax
jne 0x40af7c
mov eax, 8
jmp 0x40af85
xor eax, eax
jmp 0x40af85
mov eax, 8
pop edi
pop esi
pop ebx
add esp, 0x598
cmp ebp, esp
call fcn.0041cdce
mov esp, ebp
pop ebp
ret 0x24