Function at 0x40ef70
Capabilities:
Resolve function by parsing pe exports

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 dword [0x447190]
add esp, 8
jmp 0x40f124
push esi
call fcn.004148a0
push 0x447b30
push str.data_temporary.txt
call dword [0x447190]
add esp, 0xc
push eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], 0xa
call dword [0x44718c]
add esp, 4
test eax, eax
jne 0x41228d
mov ebx, dword [0x447188]
jmp 0x40f150
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
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40f6c9
mov eax, dword [ebp + 0x498]
test eax, eax
jle 0x40f6a2
xor edx, edx
mov dword [ebp + eax*4 + 0x628], edx
mov ecx, dword [ebp + 0x498]
sub ecx, 1
test ecx, ecx
jle 0x40f2ad
lea eax, [ebp + 0x6a4]
mov edi, edi
mov esi, dword [eax + 0x28]
imul esi, dword [eax]
mov ecx, dword [ebp + 0x498]
add dword [ebp + ecx*4 + 0x628], esi
lea ecx, [ebp + ecx*4 + 0x628]
mov ecx, dword [ebp + 0x498]
add edx, 1
sub ecx, 1
add eax, 4
cmp edx, ecx
jl 0x40f280
push 0x1f50
call fcn.004450ac
add esp, 4
mov dword [esp + 0x20], eax
xor esi, esi
cmp eax, esi
mov dword [esp + 0x4f8], 3
je 0x40f2ec
mov edx, dword [ebp + 0x498]
lea edx, [edx + edx*4]
push esi
lea ecx, [ebp + edx*8 + 0x474]
push ecx
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40f2ee
xor eax, eax
mov edi, dword [esp + 0x28]
cmp edi, esi
mov edx, dword [ebp + 0x498]
mov dword [esp + 0x4f8], 0xffffffff
mov dword [ebp + edx*4 + 0x750], eax
je 0x40f31c
mov eax, dword [esp + 0x24]
push edi
push eax
call fcn.004242e0
add esp, 8
mov eax, dword [ebp + 0x498]
lea ecx, [eax + eax*4]
lea eax, [ebp + ecx*8 + 0x474]
lea edx, [esp + 0x138]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x40f335
lea eax, [esp + 0x138]
lea edx, [eax + 1]
jmp 0x40f350
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40f350
mov ecx, dword [0x448848]
sub eax, edx
mov edx, dword [str._mirror.bmp]
lea eax, [esp + eax + 0x134]
mov dword [eax], edx
mov edx, dword [0x44884c]
mov dword [eax + 4], ecx
push 0x1f50
mov dword [eax + 8], edx
call fcn.004450ac
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x4f8], 4
je 0x40f3b1
push 1
lea ecx, [esp + 0x13c]
push ecx
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40f3b3
xor eax, eax
cmp edi, esi
mov edx, dword [ebp + 0x498]
mov dword [esp + 0x4f8], 0xffffffff
mov dword [ebp + edx*4 + 0x778], eax
je 0x40f3dd
mov eax, dword [esp + 0x24]
push edi
push eax
call fcn.004242e0
add esp, 8
mov ecx, dword [ebp + 0x498]
mov edx, dword [ebp + ecx*4 + 0x778]
cmp dword [edx], esi
jne 0x40f4f6
push 0x1f50
call fcn.004450ac
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x4f8], 5
je 0x40f42f
mov edx, dword [ebp + 0x498]
lea ecx, [edx + edx*4]
push esi
lea edx, [ebp + ecx*8 + 0x474]
push edx
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40f431
xor eax, eax
mov ecx, dword [ebp + 0x498]
push 0x64
lea edx, [esp + 0x16c]
push esi
push edx
mov dword [esp + 0x504], 0xffffffff
mov dword [ebp + ecx*4 + 0x778], eax
call fcn.004450a0
mov eax, dword [ebp + 0x498]
mov dword [esp + 0x174], 0x64
mov dword [esp + 0x178], 2
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 4]
mov dword [esp + 0x74], edx
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 8]
mov dword [esp + 0x78], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 4]
mov dword [esp + 0x44], edx
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 8]
add esp, 0xc
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp + eax*4 + 0x778]
mov eax, dword [ebp + eax*4 + 0x750]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [ecx]
lea edi, [esp + 0x168]
push edi
push 0x1000800
lea edi, [esp + 0x38]
push edi
push eax
lea eax, [esp + 0x70]
push eax
push ecx
mov ecx, dword [edx + 0x14]
call ecx
mov edi, dword [esp + 0x28]
cmp edi, esi
je 0x40f508
mov edx, dword [esp + 0x24]
push edi
push edx
call fcn.004242e0
add esp, 8
mov eax, dword [ebp + 0x498]
mov ecx, dword [ebp + eax*4 + 0x6c8]
imul ecx, dword [ebp + eax*4 + 0x6a0]
mov edx, dword [ebp + eax*4 + 0x750]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp + 0x498]
mov ecx, dword [ebp + eax*4 + 0x6c8]
imul ecx, dword [ebp + eax*4 + 0x6a0]
mov edx, dword [ebp + eax*4 + 0x778]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp + 0x498]
mov ecx, dword [ebp + eax*4 + 0x750]
cmp dword [ecx + 0xc], esi
jle 0x40f6a2
mov ecx, 0x7e0
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov eax, dword [ebp + edi*4 + 0x650]
add eax, 1
add ecx, 4
imul edx, eax
mov eax, dword [ebp + edi*4 + 0x750]
mov dword [ecx + eax - 0x7d4], edx
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov edx, dword [ebp + edi*4 + 0x678]
add edx, 1
imul eax, edx
mov edx, dword [ebp + edi*4 + 0x750]
mov dword [ecx + edx - 4], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x750]
mov eax, dword [ebp + eax*4 + 0x650]
mov dword [ecx + edx + 0x7cc], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x750]
mov eax, dword [ebp + eax*4 + 0x678]
mov dword [ecx + edx + 0xf9c], eax
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov eax, dword [ebp + edi*4 + 0x650]
add eax, 1
imul edx, eax
mov eax, dword [ebp + edi*4 + 0x750]
mov eax, dword [eax + 4]
sub eax, edx
sub eax, dword [ebp + edi*4 + 0x650]
mov edx, dword [ebp + edi*4 + 0x778]
mov dword [ecx + edx - 0x7d4], eax
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov edx, dword [ebp + edi*4 + 0x678]
add edx, 1
add esi, 1
imul eax, edx
mov edx, dword [ebp + edi*4 + 0x778]
mov dword [ecx + edx - 4], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x778]
mov eax, dword [ebp + eax*4 + 0x650]
mov dword [ecx + edx + 0x7cc], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x778]
mov eax, dword [ebp + eax*4 + 0x678]
mov dword [ecx + edx + 0xf9c], eax
mov edx, dword [ebp + 0x498]
mov eax, dword [ebp + edx*4 + 0x750]
cmp esi, dword [eax + 0xc]
jl 0x40f561
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
push 0x1f50
call fcn.004450ac
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x4f8], 6
je 0x40f71e
push 0
push esi
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40f720
xor eax, eax
mov dword [esp + 0x4f8], 0xffffffff
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
push 0x1f50
call fcn.004450ac
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x4f8], 7
je 0x40f786
push 0
push esi
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40f788
xor eax, eax
mov dword [esp + 0x4f8], 0xffffffff
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
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40fbd1
sub eax, edx
add eax, 1
push eax
call dword [0x447194]
add esp, 4
mov dword [ebp + 0x98], eax
lea ecx, [esp + 0x168]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x40fbf8
mov edx, dword [ebp + 0x98]
lea eax, [ebp + 0xa4]
push eax
push edx
mov ecx, ebp
call fcn.0040bd90
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 edx, dword [esp + 0x14]
lea ecx, [esp + 0x168]
push ecx
push 0x4477fc
push edx
call ebx
lea eax, [esp + 0x174]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40fc50
sub eax, edx
add eax, 1
push eax
call dword [0x447194]
add esp, 4
mov dword [ebp + 0x9c], eax
lea ecx, [esp + 0x168]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x40fc77
lea eax, [ebp + 0xa8]
push eax
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, ebp
call fcn.0040bd90
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
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40fcd3
sub eax, edx
add eax, 1
push eax
call dword [0x447194]
add esp, 4
mov dword [ebp + 0xa0], eax
lea ecx, [esp + 0x168]
mov edx, eax
lea ebx, [ebx]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x40fd00
mov edx, dword [ebp + 0xa0]
lea eax, [ebp + 0xac]
push eax
push edx
mov ecx, ebp
call fcn.0040bd90
jmp 0x40f1d8
mov eax, dword [ebp + 0x498]
xor esi, esi
mov dword [ebp + eax*4 + 0x628], esi
mov ecx, dword [ebp + 0x498]
sub ecx, 1
xor edx, edx
test ecx, ecx
jle 0x40fd7d
lea eax, [ebp + 0x6a4]
lea esp, [esp]
mov edi, dword [eax + 0x28]
imul edi, dword [eax]
mov ecx, dword [ebp + 0x498]
add dword [ebp + ecx*4 + 0x628], edi
lea ecx, [ebp + ecx*4 + 0x628]
mov ecx, dword [ebp + 0x498]
add edx, 1
sub ecx, 1
add eax, 4
cmp edx, ecx
jl 0x40fd50
push 0x1f50
call fcn.004450ac
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x4f8], esi
je 0x40fdb6
mov edx, dword [ebp + 0x498]
lea edx, [edx + edx*4]
push esi
lea ecx, [ebp + edx*8 + 0x474]
push ecx
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40fdb8
xor eax, eax
mov edi, dword [esp + 0x28]
cmp edi, esi
mov edx, dword [ebp + 0x498]
mov dword [esp + 0x4f8], 0xffffffff
mov dword [ebp + edx*4 + 0x750], eax
je 0x40fde6
mov eax, dword [esp + 0x24]
push edi
push eax
call fcn.004242e0
add esp, 8
mov eax, dword [ebp + 0x498]
lea ecx, [eax + eax*4]
lea eax, [ebp + ecx*8 + 0x474]
lea edx, [esp + 0x138]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x40fe00
lea eax, [esp + 0x138]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40fe16
mov ecx, dword [0x448848]
sub eax, edx
mov edx, dword [str._mirror.bmp]
lea eax, [esp + eax + 0x134]
mov dword [eax], edx
mov edx, dword [0x44884c]
mov dword [eax + 4], ecx
push 0x1f50
mov dword [eax + 8], edx
call fcn.004450ac
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x4f8], 1
je 0x40fe77
push 1
lea ecx, [esp + 0x13c]
push ecx
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40fe79
xor eax, eax
cmp edi, esi
mov edx, dword [ebp + 0x498]
mov dword [esp + 0x4f8], 0xffffffff
mov dword [ebp + edx*4 + 0x778], eax
je 0x40fea3
mov eax, dword [esp + 0x24]
push edi
push eax
call fcn.004242e0
add esp, 8
mov ecx, dword [ebp + 0x498]
mov edx, dword [ebp + ecx*4 + 0x778]
cmp dword [edx], esi
jne 0x40ffb9
push 0x1f50
call fcn.004450ac
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, esi
mov edi, 2
mov dword [esp + 0x4f8], edi
je 0x40fef6
mov edx, dword [ebp + 0x498]
lea ecx, [edx + edx*4]
push esi
lea edx, [ebp + ecx*8 + 0x474]
push edx
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x40fef8
xor eax, eax
mov ecx, dword [ebp + 0x498]
push 0x64
lea edx, [esp + 0x16c]
push esi
push edx
mov dword [esp + 0x504], 0xffffffff
mov dword [ebp + ecx*4 + 0x778], eax
call fcn.004450a0
mov eax, dword [ebp + 0x498]
mov dword [esp + 0x178], edi
mov dword [esp + 0x174], 0x64
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 4]
mov dword [esp + 0x64], edx
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 8]
mov dword [esp + 0x68], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 4]
mov dword [esp + 0x54], edx
mov ecx, dword [ebp + eax*4 + 0x750]
mov edx, dword [ecx + 8]
add esp, 0xc
mov dword [esp + 0x4c], edx
mov ecx, dword [ebp + eax*4 + 0x778]
mov eax, dword [ebp + eax*4 + 0x750]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [ecx]
lea edi, [esp + 0x168]
push edi
push 0x1000800
lea edi, [esp + 0x48]
push edi
push eax
lea eax, [esp + 0x60]
push eax
push ecx
mov ecx, dword [edx + 0x14]
call ecx
mov edi, dword [esp + 0x28]
cmp edi, esi
je 0x40ffcb
mov edx, dword [esp + 0x24]
push edi
push edx
call fcn.004242e0
add esp, 8
mov eax, dword [ebp + 0x498]
mov ecx, dword [ebp + eax*4 + 0x6c8]
imul ecx, dword [ebp + eax*4 + 0x6a0]
mov edx, dword [ebp + eax*4 + 0x750]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp + 0x498]
mov ecx, dword [ebp + eax*4 + 0x6c8]
imul ecx, dword [ebp + eax*4 + 0x6a0]
mov edx, dword [ebp + eax*4 + 0x778]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp + 0x498]
mov ecx, dword [ebp + eax*4 + 0x750]
cmp dword [ecx + 0xc], esi
jle 0x410165
mov ecx, 0x7e0
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov eax, dword [ebp + edi*4 + 0x650]
add eax, 1
add ecx, 4
imul edx, eax
mov eax, dword [ebp + edi*4 + 0x750]
mov dword [ecx + eax - 0x7d4], edx
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov edx, dword [ebp + edi*4 + 0x678]
add edx, 1
imul eax, edx
mov edx, dword [ebp + edi*4 + 0x750]
mov dword [ecx + edx - 4], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x750]
mov eax, dword [ebp + eax*4 + 0x650]
mov dword [ecx + edx + 0x7cc], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x750]
mov eax, dword [ebp + eax*4 + 0x678]
mov dword [ecx + edx + 0xf9c], eax
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov eax, dword [ebp + edi*4 + 0x650]
add eax, 1
imul edx, eax
mov eax, dword [ebp + edi*4 + 0x750]
mov eax, dword [eax + 4]
sub eax, edx
sub eax, dword [ebp + edi*4 + 0x650]
mov edx, dword [ebp + edi*4 + 0x778]
mov dword [ecx + edx - 0x7d4], eax
mov edi, dword [ebp + 0x498]
mov eax, esi
cdq
idiv dword [ebp + edi*4 + 0x6a0]
mov edx, dword [ebp + edi*4 + 0x678]
add edx, 1
add esi, 1
imul eax, edx
mov edx, dword [ebp + edi*4 + 0x778]
mov dword [ecx + edx - 4], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x778]
mov eax, dword [ebp + eax*4 + 0x650]
mov dword [ecx + edx + 0x7cc], eax
mov eax, dword [ebp + 0x498]
mov edx, dword [ebp + eax*4 + 0x778]
mov eax, dword [ebp + eax*4 + 0x678]
mov dword [ecx + edx + 0xf9c], eax
mov edx, dword [ebp + 0x498]
mov eax, dword [ebp + edx*4 + 0x750]
cmp esi, dword [eax + 0xc]
jl 0x410024
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 [0x447174]
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
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x410920
sub eax, edx
add eax, 1
push eax
call dword [0x447194]
mov ecx, dword [esp + 0x1c]
imul ecx, ecx, 0x178
mov dword [ecx + ebp + 0x914], eax
mov edx, dword [esp + 0x1c]
add esp, 4
imul edx, edx, 0x178
mov edx, dword [edx + ebp + 0x914]
lea ecx, [esp + 0x294]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x410961
mov eax, dword [esp + 0x18]
imul eax, eax, 0x178
xor edi, edi
mov dword [eax + ebp + 0x918], 0xffffffff
cmp dword [0x458438], edi
jle 0x4109f9
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
mov edx, dword [ecx + ebp + 0x914]
lea eax, [ecx + ebp]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov edx, 0x455638
nop
mov eax, dword [esp + 0x1c]
mov esi, edx
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x4109d6
test cl, cl
je 0x4109d2
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4109d6
add eax, 2
add esi, 2
test cl, cl
jne 0x4109b6
xor eax, eax
jmp 0x4109db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4109ef
add edi, 1
add edx, 0x14
cmp edi, dword [0x458438]
jl 0x4109b0
jmp 0x4109f9
mov eax, dword [esp + 0x20]
mov dword [eax + 0x918], edi
mov ecx, dword [esp + 0x18]
imul ecx, ecx, 0x178
cmp dword [ecx + ebp + 0x918], 0xffffffff
lea eax, [ecx + ebp + 0x918]
jne 0x410a9f
mov edx, dword [0x458438]
mov dword [eax], edx
cmp dword [0x44eecc], 0
je 0x410a67
mov eax, dword [esp + 0x18]
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x914]
push ecx
mov ecx, dword [0x458438]
lea ecx, [ecx*4 + 0x452948]
call fcn.004014e0
mov edx, dword [0x458438]
mov eax, dword [edx*4 + 0x452948]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
push 0xffffd8f0
push eax
call edx
mov eax, dword [esp + 0x18]
mov esi, dword [0x458438]
imul eax, eax, 0x178
mov ecx, dword [eax + ebp + 0x914]
lea edx, [esi + esi*4]
lea edx, [edx*4 + 0x455638]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x410a88
add esi, 1
mov dword [0x458438], esi
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
jmp 0x410af0
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
jmp 0x410d10
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 [0x447194]
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
jmp 0x4114d4
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
jmp 0x4115c0
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 [0x447194]
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 [0x44718c]
add esp, 4
test eax, eax
je 0x40f150
mov eax, dword [esp + 0x14]
mov edi, dword [0x447184]
push eax
call edi
push 0x447a70
push str.data_temporary.txt
call dword [0x447190]
mov esi, eax
push 0x447a58
push esi
call dword [0x447180]
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