Function at 0x40ef70
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x445d30
mov eax, dword fs:[0]
push eax
sub esp, 0x4dc
mov eax, dword [0x44eea4]
xor eax, esp
mov dword [esp + 0x4d8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44eea4]
xor eax, esp
push eax
lea eax, [esp + 0x4f0]
mov dword fs:[0], eax
mov esi, dword [esp + 0x508]
mov eax, dword [esp + 0x50c]
mov ebp, ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
lea edi, [ebp + 0x7a4]
mov ebx, 0x18f
mov edi, edi
mov ecx, edi
call fcn.0040bbf0
add edi, 0x178
sub ebx, 1
jns 0x40efd0
mov dword [ebp + 0xac], 0xffffffff
mov dword [ebp + 0xa8], 0xffffffff
mov dword [ebp + 0xa4], 0xffffffff
xor eax, eax
mov dword [ebp + 0xa0], eax
mov dword [ebp + 0x9c], eax
mov dword [ebp + 0x98], eax
mov dword [ebp + 0x90], eax
mov dword [ebp + 0x94], eax
mov ecx, dword [str.none]
mov dword [ebp + 0x700], ecx
movzx edx, byte [0x448874]
mov byte [ebp + 0x704], dl
mov ecx, dword [str.none]
mov dword [ebp + 0x25324], ecx
movzx edx, byte [0x448874]
mov ecx, dword [esp + 0x500]
mov dword [ebp + 0x498], eax
mov byte [ebp + 0x25328], dl
mov edx, dword [esp + 0x504]
mov dword [ebp + 0x6f4], ecx
mov eax, 0xbb8
mov dword [ebp + 0x6f8], edx
mov dword [ebp + 0x62c], eax
mov dword [ebp + 0x630], eax
mov dword [ebp + 0x634], eax
mov dword [ebp + 0x638], eax
mov dword [ebp + 0x63c], eax
mov dword [ebp + 0x640], eax
mov dword [ebp + 0x644], eax
mov dword [ebp + 0x648], eax
mov dword [ebp + 0x64c], eax
mov dword [ebp + 0x650], eax
xor eax, eax
lea edi, [ebp + 0xb0]
mov ecx, 0xc8
rep stosd dword es:[edi], eax
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40f0c7
sub eax, ecx
mov cl, byte [esi + eax - 3]
cmp cl, 0x64
je 0x40f0e0
cmp cl, 0x44
jne 0x40f0fa
mov cl, byte [esi + eax - 2]
cmp cl, 0x61
je 0x40f0ee
cmp cl, 0x41
jne 0x40f0fa
mov al, byte [esi + eax - 1]
cmp al, 0x74
je 0x40f10b
cmp al, 0x54
je 0x40f10b
push 0x447b30
push esi
call fcn.00415770
nop
nop
nop
nop
jmp 0x40f124
push esi
call fcn.004148a0
push 0x447b30
push str.data_temporary.txt
call dword [sym.imp.MSVCR80.dll_fopen]
add esp, 0xc
push eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], 0xa
call dword [sym.imp.MSVCR80.dll_feof]
add esp, 4
test eax, eax
jne 0x41228d
mov ebx, dword [sym.imp.MSVCR80.dll_fscanf]
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
lea eax, [esp + 0x7c]
add esp, 0xc
xor esi, esi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40f170
sub eax, edx
je 0x40f1ac
mov edi, dword [0x44f620]
movsx edx, byte [esp + esi + 0x70]
imul edx, esi
add edi, edx
lea eax, [esp + 0x70]
add esi, 1
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40f197
sub eax, edx
cmp esi, eax
jb 0x40f183
mov dword [0x44f620], edi
sub dword [esp + 0x2c], 1
jne 0x40f1c0
mov dword [esp + 0x2c], 0xa
call fcn.0043d230
mov edi, str._bmp_begin_
lea esi, [esp + 0x70]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410165
cmp dword [esp + 0x28], 0
je 0x40f1f1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
call fcn.004242e0
add esp, 8
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str._bmp_end_
lea esi, [esp + 0x70]
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40fd28
xor eax, eax
nop
mov cl, byte [esp + eax + 0x70]
mov byte [esp + eax + 0x168], cl
add eax, 1
test cl, cl
jne 0x40f220
mov byte [esp + 0x16c], cl
mov edi, str.file
lea esi, [esp + 0x168]
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f6c9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add dword [ebp + 0x498], 1
mov eax, dword [ebp + 0x498]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
lea edx, [ebp + ecx*8 + 0x474]
push edx
push 0x4477fc
push eax
call ebx
add esp, 0xc
mov edi, str.head:
lea esi, [esp + 0x70]
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f731
mov eax, dword [esp + 0x14]
lea esi, [ebp + 0x700]
push esi
push 0x4477fc
push eax
call ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push 0
push esi
nop
nop
call fcn.0043ee30
pop eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp + 0x6fc], eax
mov edi, str.small:
lea esi, [esp + 0x70]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f799
mov eax, dword [esp + 0x14]
lea esi, [ebp + 0x72c]
push esi
push 0x4477fc
push eax
call ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push 0
push esi
nop
nop
call fcn.0043ee30
pop eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp + 0x728], eax
mov edi, str.walking_frame_rate
lea esi, [esp + 0x70]
mov ecx, 0x13
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f7bd
mov eax, dword [esp + 0x14]
push ebp
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.walking_speed
lea esi, [esp + 0x70]
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f7e4
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 8]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.walking_speedz
lea esi, [esp + 0x70]
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f80b
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x10]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.running_frame_rate
lea esi, [esp + 0x70]
mov ecx, 0x13
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f832
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x18]
push eax
push 0x447b08
push ecx
call ebx
add esp, 0xc
mov edi, str.running_speed
lea esi, [esp + 0x70]
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f859
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x20]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.running_speedz
lea esi, [esp + 0x70]
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f880
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x28]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.heavy_walking_speed
lea esi, [esp + 0x70]
mov ecx, 0x14
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f8a7
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x30]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.heavy_walking_speedz
lea esi, [esp + 0x70]
mov ecx, 0x15
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f8ce
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x38]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.heavy_running_speed
lea esi, [esp + 0x70]
mov ecx, 0x14
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f8f5
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x40]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.heavy_running_speedz
lea esi, [esp + 0x70]
mov ecx, 0x15
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f91c
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x48]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.jump_height
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f943
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x50]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.jump_distance
lea esi, [esp + 0x70]
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f96a
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x58]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.jump_distancez
lea esi, [esp + 0x70]
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f991
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x60]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.dash_height
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f9b8
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x68]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.dash_distance
lea esi, [esp + 0x70]
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f9df
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x70]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.dash_distancez
lea esi, [esp + 0x70]
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fa06
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x78]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.rowing_height
lea esi, [esp + 0x70]
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fa30
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x80]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.rowing_distance
lea esi, [esp + 0x70]
mov ecx, 0x10
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fa5a
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x88]
push eax
push 0x447b54
push ecx
call ebx
add esp, 0xc
mov edi, str.name:
lea esi, [esp + 0x70]
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fa84
lea eax, [ebp + 0x25324]
push eax
mov eax, dword [esp + 0x18]
push 0x4477fc
push eax
call ebx
add esp, 0xc
mov edi, 0x4486f8
lea esi, [esp + 0x70]
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fab5
mov eax, dword [ebp + 0x498]
mov edx, dword [esp + 0x14]
lea ecx, [ebp + eax*4 + 0x650]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x4486f4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fae6
mov ecx, dword [ebp + 0x498]
mov eax, dword [esp + 0x14]
lea edx, [ebp + ecx*4 + 0x678]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.row:
lea esi, [esp + 0x70]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fb17
mov eax, dword [ebp + 0x498]
mov edx, dword [esp + 0x14]
lea ecx, [ebp + eax*4 + 0x6a0]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.col:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fb48
mov ecx, dword [ebp + 0x498]
mov eax, dword [esp + 0x14]
lea edx, [ebp + ecx*4 + 0x6c8]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.weapon_hp:
lea esi, [esp + 0x70]
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fb72
lea eax, [ebp + 0x90]
push eax
mov eax, dword [esp + 0x18]
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.weapon_drop_hurt:
lea esi, [esp + 0x70]
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fb9c
lea eax, [ebp + 0x94]
push eax
mov eax, dword [esp + 0x18]
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.weapon_hit_sound:
lea esi, [esp + 0x70]
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fc1b
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x168]
push eax
push 0x4477fc
push ecx
call ebx
lea eax, [esp + 0x174]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40fbd0
sub eax, edx
push eax
push edx
lea eax, [ebp + 0xa4]
push eax
call fcn.0040bd90
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, str.weapon_drop_sound:
lea esi, [esp + 0x70]
mov ecx, 0x13
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40fc9a
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x168]
push eax
push 0x4477fc
push ecx
call ebx
lea eax, [esp + 0x174]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40fc4f
sub eax, edx
push eax
push edx
lea eax, [ebp + 0xa8]
push eax
call fcn.0040bd90
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, str.weapon_broken_sound:
lea esi, [esp + 0x70]
mov ecx, 0x15
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f1d8
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x168]
push eax
push 0x4477fc
push ecx
call ebx
lea eax, [esp + 0x174]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40fcd2
sub eax, edx
push eax
push edx
lea eax, [ebp + 0xac]
push eax
call fcn.0040bd90
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp 0x40f1d8
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + 0x498], 0
je 0x40ff00
push ebx
xor ebx, ebx
inc ebx
xor edx, edx
mov dword [ebp + ebx*4 + 0x628], edx
cmp ebx, 1
jle 0x40fd6c
lea eax, [ebp + 0x6a4]
mov esi, dword [eax + 0x28]
imul esi, dword [eax]
add dword [ebp + ebx*4 + 0x628], esi
mov ecx, ebx
inc edx
dec ecx
add eax, 4
cmp edx, ecx
jl 0x40fd54
imul edx, ebx, 0x28
lea esi, [ebp + edx + 0x474]
mov eax, esi
xor edi, edi
mov cl, byte [eax]
cmp cl, 0x2e
jne 0x40fd85
mov edi, eax
sub edi, esi
inc eax
test cl, cl
jne 0x40fd7a
sub eax, esi
lea ecx, [eax + 7]
push eax
push ecx
call dword [sym.imp.MSVCR80.dll_malloc]
mov ecx, edi
mov edi, eax
pop edx
pop edx
sub edx, ecx
rep movsb byte es:[edi], byte [esi]
mov dword [edi], 0x72696d5f
mov dword [edi + 4], 0x726f72
add edi, 7
mov ecx, edx
rep movsb byte es:[edi], byte [esi]
mov esi, eax
push esi
call dword [sym.imp.kernel32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40fdfd
imul edx, ebx, 0x28
lea eax, [ebp + edx + 0x474]
xor ecx, ecx
push ecx
push ecx
push eax
call fcn.0043ee30
pop eax
mov dword [ebp + ebx*4 + 0x750], eax
call fcn.00415750
xor ecx, ecx
push ecx
push ecx
push esi
call fcn.0043ee30
pop eax
mov dword [ebp + ebx*4 + 0x778], eax
call fcn.00415750
jmp 0x40fe26
xor ecx, ecx
push ecx
push ecx
push 1
imul edx, ebx, 0x28
lea eax, [ebp + edx + 0x474]
push eax
call fcn.0043ee30
pop eax
pop ecx
lea edx, [ebp + ebx*4 + 0x750]
mov dword [edx], eax
mov dword [edx + 0x28], ecx
call fcn.00415750
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edx, dword [ebp + ebx*4 + 0x750]
test edx, edx
jle 0x40fef3
mov ecx, dword [ebp + ebx*4 + 0x6c8]
imul ecx, dword [ebp + ebx*4 + 0x6a0]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + ebx*4 + 0x778]
mov dword [edx + 0xc], ecx
test ecx, ecx
jle 0x40fef3
xor esi, esi
xor ecx, ecx
lea edi, [ebp + ebx*4 + 0x6e4]
push ebx
push ebp
mov ecx, dword [edi - 0x94]
inc ecx
mov ebx, dword [edi - 0x6c]
inc ebx
mov eax, esi
cdq
idiv dword [edi - 0x44]
imul edx, ecx
mov ebp, dword [edi + 0x6c]
mov dword [ebp + esi*4 + 0x10], edx
imul eax, ebx
mov dword [ebp + esi*4 + 0x7e0], eax
mov ebp, dword [edi + 0x94]
mov dword [ebp + esi*4 + 0x7e0], eax
mov eax, dword [ebp + 4]
sub eax, ecx
sub eax, edx
inc eax
mov dword [ebp + esi*4 + 0x10], eax
inc esi
cmp esi, dword [ebp + 0xc]
jl 0x40fe7a
mov ebp, edi
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp + 0x94]
mov ebx, dword [ebp + 0x6c]
mov ecx, 0xfb0
add edx, ecx
add ebx, ecx
mov ecx, esi
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, esi
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, 0x7d0
add edx, ecx
add ebx, ecx
mov eax, dword [ebp - 0x6c]
mov ecx, esi
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, esi
mov edi, ebx
rep stosd dword es:[edi], eax
pop ebp
pop ebx
cmp ebx, dword [ebp + 0x498]
jl 0x40fd3f
pop ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, str._weapon_strength_list_
lea esi, [esp + 0x70]
mov ecx, 0x17
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4103f8
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
mov dword [esp + 0x28], edx
call ebx
add esp, 0xc
mov edi, str._weapon_strength_list_end_
lea esi, [esp + 0x70]
mov ecx, 0x1b
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4103f8
lea ecx, [ecx]
mov edi, str.entry:
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4101f0
mov eax, dword [esp + 0x1c]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edx, [ebp + ecx*2 + 0x3d0]
mov ecx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
push str._d__s
push ecx
call ebx
add esp, 0x10
jmp 0x4103cc
mov edi, str.dvx:
lea esi, [esp + 0x70]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41021a
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 4
lea ecx, [eax + ebp + 0xc4]
jmp 0x4103bc
mov edi, str.dvy:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41024f
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
shl ecx, 4
lea edx, [ecx + ebp + 0xc8]
push edx
push 0x447b08
push eax
jmp 0x4103c7
mov edi, str.fall:
lea esi, [esp + 0x70]
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410279
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 4
lea ecx, [eax + ebp + 0xcc]
jmp 0x4103bc
mov edi, str.arest:
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4102ae
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
shl ecx, 4
lea edx, [ecx + ebp + 0xd0]
push edx
push 0x447b08
push eax
jmp 0x4103c7
mov edi, str.vrest:
lea esi, [esp + 0x70]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4102d8
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 4
lea ecx, [eax + ebp + 0xd4]
jmp 0x4103bc
mov edi, str.respond:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41030d
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
shl ecx, 4
lea edx, [ecx + ebp + 0xd8]
push edx
push 0x447b08
push eax
jmp 0x4103c7
mov edi, str.bdefend:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41033e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
lea eax, [eax + eax*4 + 0xf]
shl eax, 4
add eax, ebp
push eax
push 0x447b08
push ecx
jmp 0x4103c7
mov edi, str.injury:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410365
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 4
lea ecx, [eax + ebp + 0xf4]
jmp 0x4103bc
mov edi, str.zwidth:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410397
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
shl ecx, 4
lea edx, [ecx + ebp + 0xf8]
push edx
push 0x447b08
push eax
jmp 0x4103c7
mov edi, str.effect:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4103cc
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 4
lea ecx, [eax + ebp + 0xdc]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str._weapon_strength_list_end_
lea esi, [esp + 0x70]
mov ecx, 0x1b
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4101b0
mov edi, str._frame_
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x412277
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push ecx
push 0x447b08
push esi
call ebx
mov edx, dword [esp + 0x24]
imul edx, edx, 0x178
lea eax, [edx + ebp + 0x900]
push eax
push 0x4477fc
push esi
call ebx
mov ecx, dword [esp + 0x30]
add ecx, 6
imul ecx, ecx, 0x178
mov dword [ecx + ebp], 0
mov edx, dword [esp + 0x30]
imul edx, edx, 0x178
mov dword [edx + ebp + 0x8cc], 0
mov eax, dword [esp + 0x30]
imul eax, eax, 0x178
mov byte [eax + ebp + 0x7a4], 1
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x3dc]
push 0x447b08
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
lea eax, [esp + 0x94]
push eax
push 0x4477fc
push esi
call ebx
add esp, 0x30
mov edi, str._frame_end_
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x411ef0
lea esp, [esp]
mov edi, str.pic:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4104f5
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7a8]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.state:
lea esi, [esp + 0x70]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41052a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7ac]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.wait:
lea esi, [esp + 0x70]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41055f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7b0]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.next:
lea esi, [esp + 0x70]
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410594
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7b4]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dvx:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4105c9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7b8]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.dvy:
lea esi, [esp + 0x70]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4105fe
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7bc]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dvz:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410633
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7c0]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.centerx:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410668
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7f4]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.centery:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41069d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7f8]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.hit_a:
lea esi, [esp + 0x70]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4106d2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7c8]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.hit_d:
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410707
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7cc]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.hit_j:
lea esi, [esp + 0x70]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41073c
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7d0]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.hit_Fa:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410771
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7d4]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.hit_Ua:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4107a6
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7d8]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.hit_Da:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4107db
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7dc]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.hit_Fj:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410810
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7e0]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.hit_Uj:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410845
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7e4]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.hit_Dj:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41087a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7e8]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.hit_ja:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4108af
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7ec]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, 0x448540
lea esi, [esp + 0x70]
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4108e4
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x7f0]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.sound:
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410a9f
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x294]
push ecx
push 0x4477fc
push edx
call ebx
lea eax, [esp + 0x2a0]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41091c
sub eax, edx
push eax
push edx
mov eax, dword [esp + 0x20]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x918]
push ecx
call fcn.0040bd90
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, str.opoint:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410cc4
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str.opoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x410cc4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, str.kind:
lea esi, [esp + 0x70]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410b25
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x7fc]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, 0x447aa8
lea esi, [esp + 0x70]
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410b5a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x800]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410b8f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x804]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.action:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410bc4
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x808]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dvx:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410bf9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x80c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.dvy:
lea esi, [esp + 0x70]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410c2e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x810]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.oid:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410c63
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x814]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.facing:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410c98
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x818]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str.opoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410af0
mov edi, str.bpoint:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410da6
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x70]
push ecx
push 0x4477fc
push edx
call ebx
add esp, 0xc
mov edi, str.bpoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x410da6
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, 0x447aa8
lea esi, [esp + 0x70]
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410d45
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x824]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410d7a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x828]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x70]
push ecx
push 0x4477fc
push edx
call ebx
add esp, 0xc
mov edi, str.bpoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410d10
mov edi, str.cpoint:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41120b
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str.cpoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x41120b
lea ebx, [ebx]
mov edi, str.kind:
lea esi, [esp + 0x70]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410e25
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x82c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, 0x447aa8
lea esi, [esp + 0x70]
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410e5a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x830]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410e8f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x834]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.injury:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410ec4
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x838]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.cover:
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410ef9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x83c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.vaction:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410f2e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x840]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.aaction:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410f63
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x844]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.jaction:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x410f98
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x848]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.taction:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410fcd
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x864]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.daction:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x411002
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x84c]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.throwvx:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411037
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x850]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.throwvy:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41106c
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x854]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.throwvz:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4110a1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x86c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.hurtable:
lea esi, [esp + 0x70]
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4110d6
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x858]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.throwinjury:
lea esi, [esp + 0x70]
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41110b
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x868]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.fronthurtact:
lea esi, [esp + 0x70]
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x411140
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x838]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.backhurtact:
lea esi, [esp + 0x70]
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411175
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x83c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.decrease:
lea esi, [esp + 0x70]
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4111aa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x85c]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dircontrol:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4111df
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x860]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x70]
push ecx
push 0x4477fc
push edx
call ebx
add esp, 0xc
mov edi, str.cpoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x410df0
mov edi, str.wpoint:
lea esi, [esp + 0x70]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x411459
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str.wpoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x411459
nop
mov edi, str.kind:
lea esi, [esp + 0x70]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411285
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x87c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, 0x447aa8
lea esi, [esp + 0x70]
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4112ba
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x880]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4112ef
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x884]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.weaponact:
lea esi, [esp + 0x70]
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x411324
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x888]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.attacking:
lea esi, [esp + 0x70]
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411359
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x88c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.cover:
lea esi, [esp + 0x70]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41138e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x890]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dvx:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4113c3
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x894]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edi, str.dvy:
lea esi, [esp + 0x70]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4113f8
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x178
lea ecx, [eax + ebp + 0x898]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dvz:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41142d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x178
lea edx, [ecx + ebp + 0x89c]
push edx
push 0x447b08
push eax
call ebx
add esp, 0xc
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x70]
push ecx
push 0x4477fc
push edx
call ebx
add esp, 0xc
mov edi, str.wpoint_end:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411250
mov edi, str.itr:
lea esi, [esp + 0x70]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x411b3b
mov eax, dword [esp + 0x18]
imul eax, eax, 0x178
add dword [eax + ebp + 0x8cc], 1
mov ecx, dword [esp + 0x18]
lea eax, [eax + ebp + 0x8cc]
mov eax, ecx
imul eax, eax, 0x178
cmp dword [eax + ebp + 0x8cc], 1
jne 0x4114c3
push 0x190
call dword [sym.imp.MSVCR80.dll_malloc]
mov ecx, dword [esp + 0x1c]
add esp, 4
imul ecx, ecx, 0x178
mov dword [ecx + ebp + 0x8d4], eax
mov ecx, dword [esp + 0x18]
xor eax, eax
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
mov edx, dword [ecx + ebp + 0x8cc]
lea edx, [edx + edx*4]
lea edx, [eax + edx*4]
add ecx, ebp
mov ecx, dword [ecx + 0x8d4]
mov dword [ecx + edx*4 - 0x50], esi
mov edx, dword [esp + 0x18]
imul edx, edx, 0x178
lea ecx, [edx + ebp]
mov edx, dword [ecx + 0x8cc]
mov ecx, dword [ecx + 0x8d4]
lea edx, [edx + edx*4]
lea edx, [eax + edx*4]
mov dword [ecx + edx*4 - 0x4c], esi
mov edx, dword [esp + 0x18]
imul edx, edx, 0x178
lea ecx, [edx + ebp]
mov edx, dword [ecx + 0x8cc]
mov ecx, dword [ecx + 0x8d4]
lea edx, [edx + edx*4]
lea edx, [eax + edx*4]
mov dword [ecx + edx*4 - 0x48], esi
mov edx, dword [esp + 0x18]
imul edx, edx, 0x178
lea ecx, [edx + ebp]
mov edx, dword [ecx + 0x8cc]
mov ecx, dword [ecx + 0x8d4]
lea edx, [edx + edx*4]
lea edx, [eax + edx*4]
mov dword [ecx + edx*4 - 0x44], esi
mov edx, dword [esp + 0x18]
imul edx, edx, 0x178
lea ecx, [edx + ebp]
mov edx, dword [ecx + 0x8cc]
mov ecx, dword [ecx + 0x8d4]
lea edx, [edx + edx*4]
lea edx, [eax + edx*4]
add eax, 5
cmp eax, 0x14
mov dword [ecx + edx*4 - 0x40], esi
jl 0x4114d0
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x70]
push edx
push 0x4477fc
push eax
call ebx
add esp, 0xc
mov edi, str.itr_end:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x411b3b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, str.kind:
lea esi, [esp + 0x70]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411607
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x50]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa8
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41164e
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x4c]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411695
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x48]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x4486f8
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4116dc
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x44]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x4486f4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411723
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x40]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dvx:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41176a
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x3c]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.dvy:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4117b1
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x38]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.fall:
lea esi, [esp + 0x70]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4117f8
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x34]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.arest:
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41183f
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x30]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.vrest:
lea esi, [esp + 0x70]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411886
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x2c]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.respond:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4118cd
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x28]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.bdefend:
lea esi, [esp + 0x70]
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411914
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x10]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.injury:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x41195b
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0xc]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.zwidth:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4119a2
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 8]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.effect:
lea esi, [esp + 0x70]
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4119e9
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x24]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.catchingact:
lea esi, [esp + 0x70]
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411a35
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x14]
lea ecx, [eax - 0x1c]
push ecx
add eax, 0xffffffe0
push eax
push str._d__d
push edx
call ebx
add esp, 0x10
mov edi, str.caughtact:
lea esi, [esp + 0x70]
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411a81
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x14]
lea ecx, [eax - 0x14]
push ecx
add eax, 0xffffffe8
push eax
push str._d__d
push edx
call ebx
add esp, 0x10
mov edi, str.pickingact:
lea esi, [esp + 0x70]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411ac8
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x20]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, str.pickedact:
lea esi, [esp + 0x70]
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411b0f
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
lea eax, [ecx + ebp]
mov ecx, dword [eax + 0x8cc]
mov eax, dword [eax + 0x8d4]
lea edx, [ecx + ecx*4]
shl edx, 4
lea ecx, [edx + eax - 0x1c]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str.itr_end:
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4115c0
mov edi, str.bdy:
lea esi, [esp + 0x70]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411ec4
mov ecx, dword [esp + 0x18]
add ecx, 6
imul ecx, ecx, 0x178
add dword [ecx + ebp], 1
lea eax, [ecx + ebp]
mov eax, dword [esp + 0x18]
lea edx, [eax + 6]
imul edx, edx, 0x178
cmp dword [edx + ebp], 1
jne 0x411b9d
push 0xc8
call dword [sym.imp.MSVCR80.dll_malloc]
mov ecx, dword [esp + 0x1c]
add esp, 4
imul ecx, ecx, 0x178
mov dword [ecx + ebp + 0x8d8], eax
mov eax, dword [esp + 0x18]
lea edx, [eax + 6]
imul eax, eax, 0x178
imul edx, edx, 0x178
mov ecx, dword [edx + ebp]
mov edx, dword [eax + ebp + 0x8d8]
lea ecx, [ecx + ecx*4]
xor eax, eax
mov dword [edx + ecx*8 - 0x28], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 0x24], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 0x20], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 0x1c], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 0x18], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 0x14], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 0x10], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 0xc], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp + 0x8d8]
imul edx, edx, 0x178
mov edx, dword [edx + ebp]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 8], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 6]
imul edx, edx, 0x178
imul ecx, ecx, 0x178
mov edx, dword [edx + ebp]
mov ecx, dword [ecx + ebp + 0x8d8]
lea edx, [edx + edx*4]
mov dword [ecx + edx*8 - 4], eax
lea edx, [esp + 0x70]
mov eax, dword [esp + 0x14]
push edx
push 0x4477fc
push eax
call ebx
add esp, 0xc
mov edi, 0x448398
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x411ec4
nop
mov edi, str.kind:
lea esi, [esp + 0x70]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411d78
mov eax, dword [esp + 0x18]
lea ecx, [eax + 6]
imul eax, eax, 0x178
mov eax, dword [eax + ebp + 0x8d8]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8 - 0x28]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa8
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411dc0
mov eax, dword [esp + 0x18]
lea ecx, [eax + 6]
imul eax, eax, 0x178
mov eax, dword [eax + ebp + 0x8d8]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8 - 0x24]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x447aa4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411e08
mov eax, dword [esp + 0x18]
lea ecx, [eax + 6]
imul eax, eax, 0x178
mov eax, dword [eax + ebp + 0x8d8]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8 - 0x20]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x4486f8
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411e50
mov eax, dword [esp + 0x18]
lea ecx, [eax + 6]
imul eax, eax, 0x178
mov eax, dword [eax + ebp + 0x8d8]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8 - 0x1c]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov edi, 0x4486f4
lea esi, [esp + 0x70]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x411e98
mov eax, dword [esp + 0x18]
lea ecx, [eax + 6]
imul eax, eax, 0x178
mov eax, dword [eax + ebp + 0x8d8]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + ebp]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8 - 0x18]
mov edx, dword [esp + 0x14]
push ecx
push 0x447b08
push edx
call ebx
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, 0x448398
lea esi, [esp + 0x70]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x411d30
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push 0x4477fc
push ecx
call ebx
add esp, 0xc
mov edi, str._frame_end_
lea esi, [esp + 0x70]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4104c0
mov eax, dword [esp + 0x18]
mov ecx, eax
imul ecx, ecx, 0x178
add ecx, ebp
cmp dword [ecx + 0x8cc], 0
jle 0x4120b2
mov edx, dword [ecx + 0x8d4]
mov eax, dword [edx + 4]
mov dword [ecx + 0x8dc], eax
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
mov edx, dword [ecx + ebp + 0x8d4]
lea eax, [ecx + ebp]
mov ecx, dword [edx + 8]
mov dword [eax + 0x8e0], ecx
mov edx, dword [esp + 0x18]
imul edx, edx, 0x178
mov ecx, dword [edx + ebp + 0x8d4]
lea eax, [edx + ebp]
mov edx, dword [ecx + 0xc]
add edx, dword [ecx + 4]
mov dword [eax + 0x8e4], edx
mov eax, dword [esp + 0x18]
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x8d4]
mov edx, dword [ecx + 0x10]
add edx, dword [ecx + 8]
add eax, ebp
mov dword [eax + 0x8e8], edx
mov ecx, dword [esp + 0x18]
mov eax, ecx
imul eax, eax, 0x178
mov edx, 1
add eax, ebp
cmp dword [eax + 0x8cc], edx
mov dword [esp + 0x1c], edx
jle 0x41207f
mov edx, 0x50
mov edi, edi
mov esi, dword [eax + 0x8d4]
mov esi, dword [esi + edx + 4]
cmp esi, dword [eax + 0x8dc]
jge 0x411fbc
mov dword [eax + 0x8dc], esi
mov ecx, dword [esp + 0x18]
mov eax, ecx
imul eax, eax, 0x178
mov esi, dword [eax + ebp + 0x8d4]
mov esi, dword [esi + edx + 8]
add eax, ebp
cmp esi, dword [eax + 0x8e0]
jge 0x411fe3
mov dword [eax + 0x8e0], esi
mov ecx, dword [esp + 0x18]
mov eax, ecx
imul eax, eax, 0x178
mov esi, dword [eax + ebp + 0x8d4]
mov edi, dword [esi + edx + 0xc]
add edi, dword [esi + edx + 4]
add eax, ebp
add esi, edx
cmp edi, dword [eax + 0x8e4]
jle 0x41201f
mov ecx, dword [eax + 0x8d4]
mov esi, dword [ecx + edx + 0xc]
add ecx, edx
add esi, dword [ecx + 4]
mov dword [eax + 0x8e4], esi
mov ecx, dword [esp + 0x18]
mov eax, ecx
imul eax, eax, 0x178
mov esi, dword [eax + ebp + 0x8d4]
mov edi, dword [esi + edx + 0x10]
add edi, dword [esi + edx + 8]
add eax, ebp
add esi, edx
cmp edi, dword [eax + 0x8e8]
jle 0x41205b
mov ecx, dword [eax + 0x8d4]
mov esi, dword [ecx + edx + 0x10]
add ecx, edx
add esi, dword [ecx + 8]
mov dword [eax + 0x8e8], esi
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, ecx
imul eax, eax, 0x178
add esi, 1
add eax, ebp
add edx, 0x50
cmp esi, dword [eax + 0x8cc]
mov dword [esp + 0x1c], esi
jl 0x411fa0
imul ecx, ecx, 0x178
mov edx, dword [ecx + ebp + 0x8dc]
sub dword [ecx + ebp + 0x8e4], edx
mov eax, dword [esp + 0x18]
add ecx, ebp
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x8e0]
add eax, ebp
sub dword [eax + 0x8e8], ecx
mov eax, dword [esp + 0x18]
lea edx, [eax + 6]
imul edx, edx, 0x178
cmp dword [edx + ebp], 0
jle 0x412277
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x8d8]
mov edx, dword [ecx + 4]
mov dword [eax + ebp + 0x8ec], edx
add eax, ebp
mov eax, dword [esp + 0x18]
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x8d8]
mov edx, dword [ecx + 8]
add eax, ebp
mov dword [eax + 0x8f0], edx
mov eax, dword [esp + 0x18]
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x8d8]
mov edx, dword [ecx + 0xc]
add edx, dword [ecx + 4]
add eax, ebp
mov dword [eax + 0x8f4], edx
mov eax, dword [esp + 0x18]
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x8d8]
mov edx, dword [ecx + 0x10]
add edx, dword [ecx + 8]
add eax, ebp
mov dword [eax + 0x8f8], edx
mov eax, dword [esp + 0x18]
lea ecx, [eax + 6]
imul ecx, ecx, 0x178
cmp dword [ecx + ebp], 1
mov dword [esp + 0x1c], 1
jle 0x412246
mov ecx, 0x28
lea esp, [esp]
mov edx, eax
imul edx, edx, 0x178
mov esi, dword [edx + ebp + 0x8d8]
mov esi, dword [esi + ecx + 4]
add edx, ebp
cmp esi, dword [edx + 0x8ec]
jge 0x412187
mov dword [edx + 0x8ec], esi
mov eax, dword [esp + 0x18]
mov edx, eax
imul edx, edx, 0x178
mov esi, dword [edx + ebp + 0x8d8]
mov esi, dword [esi + ecx + 8]
add edx, ebp
cmp esi, dword [edx + 0x8f0]
jge 0x4121ae
mov dword [edx + 0x8f0], esi
mov eax, dword [esp + 0x18]
mov edx, eax
imul edx, edx, 0x178
mov esi, dword [edx + ebp + 0x8d8]
mov edi, dword [esi + ecx + 0xc]
add edi, dword [esi + ecx + 4]
add edx, ebp
add esi, ecx
cmp edi, dword [edx + 0x8f4]
jle 0x4121ea
mov eax, dword [edx + 0x8d8]
mov esi, dword [eax + ecx + 0xc]
add eax, ecx
add esi, dword [eax + 4]
mov dword [edx + 0x8f4], esi
mov eax, dword [esp + 0x18]
mov edx, eax
imul edx, edx, 0x178
mov esi, dword [edx + ebp + 0x8d8]
mov edi, dword [esi + ecx + 0x10]
add edi, dword [esi + ecx + 8]
add edx, ebp
add esi, ecx
cmp edi, dword [edx + 0x8f8]
jle 0x412226
mov eax, dword [edx + 0x8d8]
mov esi, dword [eax + ecx + 0x10]
add eax, ecx
add esi, dword [eax + 8]
mov dword [edx + 0x8f8], esi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 6]
imul esi, esi, 0x178
add edx, 1
add ecx, 0x28
cmp edx, dword [esi + ebp]
mov dword [esp + 0x1c], edx
jl 0x412160
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x8ec]
sub dword [eax + ebp + 0x8f4], ecx
mov edx, dword [esp + 0x18]
add eax, ebp
imul edx, edx, 0x178
mov ecx, dword [edx + ebp + 0x8f0]
sub dword [edx + ebp + 0x8f8], ecx
lea eax, [edx + ebp]
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.MSVCR80.dll_feof]
add esp, 4
test eax, eax
je 0x40f150
mov eax, dword [esp + 0x14]
mov edi, dword [sym.imp.MSVCR80.dll_fclose]
push eax
call edi
push 0x447a70
push str.data_temporary.txt
call dword [sym.imp.MSVCR80.dll_fopen]
mov esi, eax
push 0x447a58
push esi
call dword [sym.imp.MSVCR80.dll_fprintf]
push esi
call edi
add esp, 0x18
mov eax, ebp
mov ecx, dword [esp + 0x4f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4d8]
xor ecx, esp
call fcn.004450b2
add esp, 0x4e8
ret 0x10