Function at 0x522e20
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x571386
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x661850]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc4], ecx
push str.Sun_May_10_21:37:40_2015
push 0xa3
push str.CMirSound::ReadWavFileList
push str.SoundMirSound.cpp
lea ecx, [ebp - 0x11]
call fcn.004024e0
mov dword [ebp - 4], 0
push 0
push 0x80
push 3
push 0
push 1
push closesocket
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x523b4c
push 0x3a
call fcn.00545848
add esp, 4
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x3c], 0
je 0x522eca
mov ecx, dword [ebp - 0x3c]
call fcn.005266c0
mov dword [ebp - 0xc8], eax
jmp 0x522ed4
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x38]
mov dword [edx + 0x484], eax
push 0x3a
push 0
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x484]
push edx
call fcn.005454d0
add esp, 0xc
push 0
lea eax, [ebp - 0x28]
push eax
push 0x3a
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x484]
push edx
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x484]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x484]
mov edx, dword [edx + 0x32]
cmp edx, dword [ecx + 0x36]
jbe 0x522f62
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x484]
mov edx, dword [ecx + 0x32]
mov dword [ebp - 0xcc], edx
jmp 0x522f77
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x484]
mov edx, dword [ecx + 0x36]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
add eax, 1
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x494], eax
xor ecx, ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x494]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00542ae0
add esp, 4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x48c], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x494]
shl eax, 2
push eax
push 0
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x48c]
push edx
call fcn.005454d0
add esp, 0xc
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
jmp 0x523003
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + 0x494]
jge 0x5230f9
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x48], 0
je 0x52303f
mov ecx, dword [ebp - 0x48]
call fcn.0051cbe0
mov dword [ebp - 0xd0], eax
jmp 0x523049
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], ecx
push 0
lea edx, [ebp - 0x28]
push edx
push 0x10
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x1c]
movsx eax, word [edx]
test eax, eax
je 0x5230e2
mov ecx, dword [ebp - 0x1c]
movsx edx, byte [ecx + 2]
test edx, edx
je 0x5230e0
push str..wav
mov eax, dword [ebp - 0x1c]
add eax, 2
push eax
call fcn.004372c0
add esp, 8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x5230ce
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 5], 0
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x48c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x5230e0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.00544d52
add esp, 4
jmp 0x5230f4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.00544d52
add esp, 4
jmp 0x522ffa
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
mov dword [edx + 0x480], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 0x494]
jge 0x5231bb
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x58], 0
je 0x523144
mov ecx, dword [ebp - 0x58]
call fcn.0051cbe0
mov dword [ebp - 0xd4], eax
jmp 0x52314e
mov dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], ecx
mov edx, 0x7d00
mov eax, dword [ebp - 0x1c]
mov word [eax], dx
push str.msg.wav
push 0xe
mov ecx, dword [ebp - 0x1c]
add ecx, 2
push ecx
call fcn.005477d6
add esp, 0xc
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x48c]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
add eax, 1
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x480], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 0x494]
jge 0x52326e
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x60], 0
je 0x5231f7
mov ecx, dword [ebp - 0x60]
call fcn.0051cbe0
mov dword [ebp - 0xd8], eax
jmp 0x523201
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], edx
mov eax, 0x7d01
mov ecx, dword [ebp - 0x1c]
mov word [ecx], ax
push str.DMMSel.wav
push 0xe
mov edx, dword [ebp - 0x1c]
add edx, 2
push edx
call fcn.005477d6
add esp, 0xc
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x48c]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
add ecx, 1
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x480], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x494]
jge 0x523321
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x68], 0
je 0x5232aa
mov ecx, dword [ebp - 0x68]
call fcn.0051cbe0
mov dword [ebp - 0xdc], eax
jmp 0x5232b4
mov dword [ebp - 0xdc], 0
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x64], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x1c], eax
mov ecx, 0x7d02
mov edx, dword [ebp - 0x1c]
mov word [edx], cx
push str.DWMSel.wav
push 0xe
mov eax, dword [ebp - 0x1c]
add eax, 2
push eax
call fcn.005477d6
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x48c]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
add edx, 1
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x480], edx
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 0x494]
jge 0x5233d4
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 6
cmp dword [ebp - 0x70], 0
je 0x52335d
mov ecx, dword [ebp - 0x70]
call fcn.0051cbe0
mov dword [ebp - 0xe0], eax
jmp 0x523367
mov dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x1c], ecx
mov edx, 0x7d03
mov eax, dword [ebp - 0x1c]
mov word [eax], dx
push str.JMMSel.wav
push 0xe
mov ecx, dword [ebp - 0x1c]
add ecx, 2
push ecx
call fcn.005477d6
add esp, 0xc
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x48c]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
add eax, 1
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x480], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 0x494]
jge 0x523487
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x78], 0
je 0x523410
mov ecx, dword [ebp - 0x78]
call fcn.0051cbe0
mov dword [ebp - 0xe4], eax
jmp 0x52341a
mov dword [ebp - 0xe4], 0
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x74], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x1c], edx
mov eax, 0x7d04
mov ecx, dword [ebp - 0x1c]
mov word [ecx], ax
push str.JWMSel.wav
push 0xe
mov edx, dword [ebp - 0x1c]
add edx, 2
push edx
call fcn.005477d6
add esp, 0xc
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x48c]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
add ecx, 1
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x480], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x494]
jge 0x52353a
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x80], 0
je 0x5234c3
mov ecx, dword [ebp - 0x80]
call fcn.0051cbe0
mov dword [ebp - 0xe8], eax
jmp 0x5234cd
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x7c], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x1c], eax
mov ecx, 0x7d05
mov edx, dword [ebp - 0x1c]
mov word [edx], cx
push str.SMMSel.wav
push 0xe
mov eax, dword [ebp - 0x1c]
add eax, 2
push eax
call fcn.005477d6
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x48c]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
add edx, 1
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x480], edx
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 0x494]
jge 0x5235fc
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x88], 0
je 0x52357f
mov ecx, dword [ebp - 0x88]
call fcn.0051cbe0
mov dword [ebp - 0xec], eax
jmp 0x523589
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x1c], ecx
mov edx, 0x7d06
mov eax, dword [ebp - 0x1c]
mov word [eax], dx
push str.SWMSel.wav
push 0xe
mov ecx, dword [ebp - 0x1c]
add ecx, 2
push ecx
call fcn.005477d6
add esp, 0xc
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x48c]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
add eax, 1
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x480], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 0x494]
jge 0x5236be
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x90], eax
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x90], 0
je 0x523641
mov ecx, dword [ebp - 0x90]
call fcn.0051cbe0
mov dword [ebp - 0xf0], eax
jmp 0x52364b
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x8c], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x1c], edx
mov eax, 0x7d0b
mov ecx, dword [ebp - 0x1c]
mov word [ecx], ax
push str.DMCre.wav
push 0xe
mov edx, dword [ebp - 0x1c]
add edx, 2
push edx
call fcn.005477d6
add esp, 0xc
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x48c]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
add ecx, 1
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x480], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x494]
jge 0x523780
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x98], 0
je 0x523703
mov ecx, dword [ebp - 0x98]
call fcn.0051cbe0
mov dword [ebp - 0xf4], eax
jmp 0x52370d
mov dword [ebp - 0xf4], 0
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x94], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1c], eax
mov ecx, 0x7d0c
mov edx, dword [ebp - 0x1c]
mov word [edx], cx
push str.DWCre.wav
push 0xe
mov eax, dword [ebp - 0x1c]
add eax, 2
push eax
call fcn.005477d6
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x48c]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
add edx, 1
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x480], edx
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 0x494]
jge 0x523842
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0xa0], 0
je 0x5237c5
mov ecx, dword [ebp - 0xa0]
call fcn.0051cbe0
mov dword [ebp - 0xf8], eax
jmp 0x5237cf
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x1c], ecx
mov edx, 0x7d0d
mov eax, dword [ebp - 0x1c]
mov word [eax], dx
push str.JMCre.wav
push 0xe
mov ecx, dword [ebp - 0x1c]
add ecx, 2
push ecx
call fcn.005477d6
add esp, 0xc
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x48c]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
add eax, 1
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x480], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 0x494]
jge 0x523904
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0xa8], 0
je 0x523887
mov ecx, dword [ebp - 0xa8]
call fcn.0051cbe0
mov dword [ebp - 0xfc], eax
jmp 0x523891
mov dword [ebp - 0xfc], 0
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xa4], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x1c], edx
mov eax, 0x7d0e
mov ecx, dword [ebp - 0x1c]
mov word [ecx], ax
push str.JWCre.wav
push 0xe
mov edx, dword [ebp - 0x1c]
add edx, 2
push edx
call fcn.005477d6
add esp, 0xc
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x48c]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
add ecx, 1
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x480], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x494]
jge 0x5239c6
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0xb0], 0
je 0x523949
mov ecx, dword [ebp - 0xb0]
call fcn.0051cbe0
mov dword [ebp - 0x100], eax
jmp 0x523953
mov dword [ebp - 0x100], 0
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xac], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x1c], eax
mov ecx, 0x7d0f
mov edx, dword [ebp - 0x1c]
mov word [edx], cx
push str.SMCre.wav
push 0xe
mov eax, dword [ebp - 0x1c]
add eax, 2
push eax
call fcn.005477d6
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x48c]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x480]
add edx, 1
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x480], edx
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 0x494]
jge 0x523a88
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0xb8], 0
je 0x523a0b
mov ecx, dword [ebp - 0xb8]
call fcn.0051cbe0
mov dword [ebp - 0x104], eax
jmp 0x523a15
mov dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x1c], ecx
mov edx, 0x7d10
mov eax, dword [ebp - 0x1c]
mov word [eax], dx
push str.SWCre.wav
push 0xe
mov ecx, dword [ebp - 0x1c]
add ecx, 2
push ecx
call fcn.005477d6
add esp, 0xc
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x48c]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x480]
add eax, 1
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x480], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 0x494]
jge 0x523b4a
push 0x10
call fcn.00545848
add esp, 4
mov dword [ebp - 0xc0], eax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0xc0], 0
je 0x523acd
mov ecx, dword [ebp - 0xc0]
call fcn.0051cbe0
mov dword [ebp - 0x108], eax
jmp 0x523ad7
mov dword [ebp - 0x108], 0
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xbc], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x1c], edx
mov eax, 0x33c4
mov ecx, dword [ebp - 0x1c]
mov word [ecx], ax
push str.UpGrade.wav
push 0xe
mov edx, dword [ebp - 0x1c]
add edx, 2
push edx
call fcn.005477d6
add esp, 0xc
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x48c]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x480]
add ecx, 1
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x480], ecx
jmp 0x523b59
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x26c], 0
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11]
call fcn.00402620
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 4