Function at 0x4010b0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x5a4
push ebx
push ebp
xor ebx, ebx
push str.PMLXZJWMV
push ebx
push 4
mov byte [esp + 0x2b], bl
mov byte [esp + 0x2a], bl
xor ebp, ebp
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x7c], 0x7a120
call dword [0x403020]
cmp eax, ebx
mov dword [esp + 0x100], eax
je 0x40263f
push ebx
push ebx
push ebx
push 4
push eax
call dword [section..rdata]
cmp eax, ebx
mov dword [esp + 0xc8], eax
je 0x40263f
mov eax, dword [str.panvideo_1]
mov ecx, dword [0x404550]
mov dx, word [0x404554]
mov dword [esp + 0x130], eax
mov al, byte [0x404556]
mov dword [esp + 0x134], ecx
mov byte [esp + 0x13a], al
mov eax, dword [0x404544]
xor ecx, ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x13b], ecx
mov word [esp + 0x138], dx
mov edx, dword [str.panaudio_1]
xor eax, eax
mov dword [esp + 0x13f], ecx
mov dword [esp + 0x127], eax
mov byte [esp + 0x143], cl
mov cx, word [0x404548]
mov dword [esp + 0x11c], edx
mov dl, byte [0x40454a]
mov dword [esp + 0x12b], eax
push str.EXE
push ebx
mov dword [esp + 0x7c], ebx
mov word [esp + 0x12c], cx
mov byte [esp + 0x12e], dl
mov byte [esp + 0x137], al
mov dword [esp + 0xa8], ebx
call dword [0x403088]
cmp eax, ebx
mov dword [esp + 0xac], eax
je 0x40263f
push str.pmlxzjasfevent
push ebx
push 0x1f0003
call dword [0x403004]
cmp eax, ebx
mov dword [esp + 0x118], eax
je 0x40263f
push esi
lea ecx, [esp + 0x78]
push edi
lea edx, [esp + 0x138]
push ecx
push edx
call entry0
lea eax, [esp + 0xb0]
lea ecx, [esp + 0x12c]
push eax
push ecx
call entry0
add esp, 0x10
push ebx
call dword [0x4030a4]
test eax, eax
jne 0x402478
push 0x404520
push str.lsasf.set
mov ebp, 1
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, dword [sym.imp.MSVCRT.dll_fread]
mov esi, eax
push esi
push ebp
lea edx, [esp + 0x24]
push 4
push edx
call edi
mov eax, dword [esp + 0x2c]
inc eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x30]
push esi
push ebp
push ecx
push eax
mov dword [esp + 0xec], eax
call edi
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0xc8]
push ecx
push eax
mov byte [edx + eax], bl
call entry0
push esi
push ebp
lea edx, [esp + 0x1b4]
push 0x28
push edx
call edi
add esp, 0x44
lea eax, [esp + 0x8c]
push esi
push ebp
push 4
push eax
call edi
push esi
push ebp
lea ecx, [esp + 0x9c]
push 4
push ecx
call edi
push esi
push ebp
lea edx, [esp + 0xa0]
push 4
push edx
call edi
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x1d0]
push eax
push 0x40450c
push ecx
call dword [sym.imp.MSVCRT.dll_swprintf]
push esi
push ebp
lea edx, [esp + 0x110]
push 4
push edx
call edi
add esp, 0x4c
lea eax, [esp + 0xb0]
push esi
push ebp
push 4
push eax
call edi
push esi
push ebp
lea ecx, [esp + 0x100]
push 4
push ecx
call edi
push esi
push ebp
lea edx, [esp + 0x104]
push 4
push edx
call edi
push esi
push ebp
lea eax, [esp + 0x118]
push 4
push eax
call edi
add esp, 0x40
lea ecx, [esp + 0x174]
push esi
push ebp
push 4
push ecx
call edi
push esi
push ebp
lea edx, [esp + 0xfc]
push 4
push edx
call edi
mov eax, dword [esp + 0x1ac]
mov edi, dword [esp + 0x1a4]
add esp, 0x20
mov dword [esp + 0xc4], edi
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 4
cdq
mov ecx, eax
mov eax, dword [esp + 0xe0]
cmp eax, ebp
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], edx
jle 0x40141c
cdq
push edx
push eax
mov eax, dword [esp + 0xac]
push eax
push ecx
call fcn.004026a0
imul edi, dword [esp + 0xe0]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc4], edi
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x7c]
add esp, 4
cmp eax, ebx
mov eax, dword [esp + 0x8c]
jle 0x40146f
cmp eax, 1
mov eax, dword [esp + 0x84]
jne 0x401458
cmp eax, ebx
push 0x404520
jne 0x401451
push str.a.dat
jmp 0x4014a7
push str.a1.dat
jmp 0x4014a7
cmp eax, ebx
push 0x404520
jne 0x401468
push str.b.dat
jmp 0x4014a7
push str.b1.dat
jmp 0x4014a7
cmp eax, 1
mov eax, dword [esp + 0x84]
jne 0x401492
cmp eax, ebx
push 0x404520
jne 0x40148b
push str.za.dat
jmp 0x4014a7
push str.za1.dat
jmp 0x4014a7
cmp eax, ebx
push 0x404520
jne 0x4014a2
push str.zb.dat
jmp 0x4014a7
push str.zb1.dat
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, dword [sym.imp.MSVCRT.dll_fseek]
add esp, 8
mov esi, eax
push 2
push ebx
push esi
call edi
push esi
call dword [sym.imp.MSVCRT.dll_ftell]
push ebx
push ebx
push esi
mov dword [esp + 0x90], eax
call edi
mov eax, dword [esp + 0x90]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
lea ecx, [edi + edi + 2]
push ecx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [esp + 0x94]
push esi
push 1
push edx
push eax
mov dword [esp + 0xc0], eax
call dword [sym.imp.MSVCRT.dll_fread]
mov eax, dword [esp + 0xc0]
push esi
mov word [eax + edi*2], bx
call dword [sym.imp.MSVCRT.dll_fclose]
mov ecx, dword [esp + 0x100]
add esp, 0x34
mov dword [esp + 0x150], ecx
mov dword [esp + 0x74], ebx
lea eax, [ecx + ecx + 3]
mov ecx, dword [esp + 0xb0]
mov edx, eax
mov dword [esp + 0x14c], 0x28
and edx, 0x80000003
mov dword [esp + 0x154], ecx
mov word [esp + 0x158], 1
mov word [esp + 0x15a], 0x10
mov dword [esp + 0x15c], ebx
jns 0x401570
dec edx
or edx, 0xfffffffc
inc edx
sub eax, edx
mov dword [esp + 0x164], ebx
imul eax, ecx
mov dword [esp + 0x160], eax
lea eax, [esp + 0x10]
push eax
push ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebx
call fcn.0040288e
test eax, eax
jne 0x402478
lea ecx, [esp + 0x98]
mov ebp, 2
push ecx
call fcn.00402888
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x94]
mov edx, dword [eax]
push ecx
push eax
mov ebp, 3
call dword [edx + 0x14]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
push ecx
push eax
mov edx, dword [eax]
mov ebp, 4
call dword [edx + 0x14]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x6c]
push ecx
push 1
mov edx, dword [eax]
push eax
mov ebp, 5
call dword [edx + 0x28]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x80]
push ecx
push 0x4030b0
mov edx, dword [eax]
push eax
mov ebp, 6
call dword [edx]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x14]
push ecx
push ebx
mov edx, dword [eax]
push eax
mov ebp, 7
call dword [edx + 0x10]
test eax, eax
jne 0x402478
mov edx, dword [esp + 0x14]
mov ebp, 8
push edx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x84]
add esp, 4
lea esi, [esp + 0x14]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
push esi
push eax
push ecx
call dword [edx + 0x10]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x28]
mov edx, dword [0x403130]
mov ecx, eax
mov ebp, 9
mov dword [ecx], edx
mov edx, dword [0x403134]
mov dword [ecx + 4], edx
mov edx, dword [0x403138]
mov dword [ecx + 8], edx
mov edx, dword [0x40313c]
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0x84]
cmp ecx, ebx
lea ecx, [eax + 0x10]
jne 0x4016fb
mov edx, dword [0x4030f0]
mov dword [ecx], edx
mov edx, dword [0x4030f4]
mov dword [ecx + 4], edx
mov edx, dword [0x4030f8]
mov dword [ecx + 8], edx
mov edx, dword [0x4030fc]
jmp 0x40171b
mov edx, dword [0x4030d0]
mov dword [ecx], edx
mov edx, dword [0x4030d4]
mov dword [ecx + 4], edx
mov edx, dword [0x4030d8]
mov dword [ecx + 8], edx
mov edx, dword [0x4030dc]
mov esi, dword [eax + 0x44]
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0xa4]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x118], edx
mov edx, esi
xor eax, eax
mov dword [esp + 0x114], ecx
mov dword [edx], eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x118]
mov dword [edx + 0xc], ecx
lea edx, [esi + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x114]
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + 0x34], ecx
mov edx, dword [esp + 0xdc]
mov dword [esi + 0x38], edx
mov eax, dword [esp + 0x78]
cmp eax, ebx
jle 0x40179c
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x28]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x78]
mov ebp, 0xa
cmp eax, ebx
jle 0x4017de
mov eax, dword [esp + 0x6c]
mov edx, dword [esi + 0x20]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
jne 0x402478
mov ebp, 0x2711
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
push edx
push eax
mov ecx, dword [eax]
mov ebp, 0xb
call dword [ecx + 0x38]
test eax, eax
jne 0x402478
mov eax, dword [esp + 0x8c]
mov ebp, 0xc
cmp eax, 1
jne 0x401d39
lea eax, [esp + 0x1b4]
push eax
push 0x400
call dword [0x403008]
mov edi, str.plzj.wav
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1b4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x404520
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x1b8]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, dword [sym.imp.MSVCRT.dll_fseek]
mov esi, eax
push ebx
push 0x14
push esi
mov dword [esp + 0x88], esi
call edi
push esi
push 1
lea ecx, [esp + 0x110]
push 0x10
push ecx
call dword [sym.imp.MSVCRT.dll_fread]
push 2
push ebx
push esi
mov word [esp + 0x134], 0x12
call edi
push esi
call dword [sym.imp.MSVCRT.dll_ftell]
push ebx
push 0x2c
push esi
mov dword [esp + 0x15c], eax
call edi
mov eax, dword [esp + 0x70]
add esp, 0x40
lea ecx, [esp + 0x34]
mov edx, dword [eax]
push ecx
push 2
push eax
call dword [edx + 0x28]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x70]
push ecx
push 0x4030b0
mov edx, dword [eax]
push eax
mov ebp, 0x16
call dword [edx]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x14]
push ecx
push ebx
mov edx, dword [eax]
push eax
mov ebp, 0x17
call dword [edx + 0x10]
mov eax, dword [esp + 0x14]
add eax, 0x32
push eax
mov dword [esp + 0x18], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x74]
add esp, 4
lea esi, [esp + 0x14]
mov dword [esp + 0x68], eax
mov edx, dword [ecx]
push esi
push eax
push ecx
call dword [edx + 0x10]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xe4]
cmp ecx, 1
mov ebp, 0x18
mov eax, dword [eax + 0x44]
jne 0x401bcf
mov ecx, dword [esp + 0xf8]
mov esi, 0x2b11
cmp ecx, esi
mov ecx, dword [esp + 0x68]
lea edx, [ecx + 0x10]
jne 0x401aa6
mov edi, dword [0x4030e0]
mov byte [esp + 0x38], 0x10
mov dword [edx], edi
mov edi, dword [0x4030e4]
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], 4
mov dword [edx + 4], edi
mov edi, dword [0x4030e8]
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3c], bl
mov dword [edx + 8], edi
mov edi, dword [0x4030ec]
mov dword [ecx + 0x40], 0x40
mov byte [esp + 0x3d], bl
mov dword [edx + 0xc], edi
mov edx, 0x220
mov dword [ecx + 0x28], edx
mov dword [eax + 4], esi
lea edi, [eax + 0x12]
mov ecx, 0xb
lea esi, [esp + 0x38]
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 0x10
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], 5
mov byte [esp + 0x4b], 0xfa
mov byte [esp + 0x4c], 0x9a
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], 5
mov byte [esp + 0x4f], 0xc9
mov byte [esp + 0x50], 0x2d
mov byte [esp + 0x51], 0x48
mov byte [esp + 0x52], 0x80
mov byte [esp + 0x53], 0x5a
mov byte [esp + 0x54], 0x60
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], bl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], bl
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], bl
mov byte [esp + 0x65], bl
mov word [eax], 0xa
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 8], 0x4e2
mov word [eax + 0xc], dx
mov word [eax + 0x10], 0x2e
movsw word es:[edi], word [esi]
jmp 0x401ca0
mov esi, dword [0x4030e0]
lea edi, [eax + 0x12]
mov dword [edx], esi
mov esi, dword [0x4030e4]
mov byte [esp + 0x38], 0x10
mov byte [esp + 0x39], bl
mov dword [edx + 4], esi
mov esi, dword [0x4030e8]
mov byte [esp + 0x3a], 4
mov byte [esp + 0x3b], bl
mov dword [edx + 8], esi
mov esi, dword [0x4030ec]
mov dword [ecx + 0x40], 0x40
mov byte [esp + 0x3c], bl
mov dword [edx + 0xc], esi
mov edx, 0x440
mov dword [ecx + 0x28], edx
mov ecx, 0xb
lea esi, [esp + 0x38]
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 0x10
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], 5
mov byte [esp + 0x4b], 0xfa
mov byte [esp + 0x4c], 0x9a
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], 5
mov byte [esp + 0x4f], 0xc9
mov byte [esp + 0x50], 0x2d
mov byte [esp + 0x51], 0x48
mov byte [esp + 0x52], 0x80
mov byte [esp + 0x53], 0x5a
mov byte [esp + 0x54], 0x60
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], bl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], bl
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], bl
mov byte [esp + 0x65], bl
rep movsd dword es:[edi], dword [esi]
mov word [eax], 0xa
mov dword [eax + 4], 0x5622
mov dword [eax + 8], 0x9c4
mov word [eax + 0xc], dx
mov word [eax + 0x10], 0x2e
movsw word es:[edi], word [esi]
jmp 0x401ca0
mov ecx, dword [esp + 0xf8]
cmp ecx, 0x5622
jne 0x401c3c
cmp word [eax + 0x10], 0xa
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1d], 0x44
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1f], bl
mov byte [esp + 0x20], 0x17
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], 0x85
mov byte [esp + 0x23], 0xe
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x9c5
mov word [eax + 0xc], 0x3a1
jne 0x401ca0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add eax, 0x12
mov dword [eax], ecx
mov cx, word [esp + 0x24]
mov dword [eax + 4], edx
mov word [eax + 8], cx
jmp 0x401ca0
cmp ecx, 0xac44
jne 0x401ca0
cmp word [eax + 0x10], 0xa
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1d], 0x88
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1f], bl
mov byte [esp + 0x20], 0xf
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], 0xd9
mov byte [esp + 0x23], 0x22
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x1773
mov word [eax + 0xc], 0x8b6
jne 0x401ca0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
add eax, 0x12
mov dword [eax], edx
mov dx, word [esp + 0x24]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
cmp eax, ebx
jne 0x402466
mov eax, dword [esp + 0xf8]
mov ebp, 0x19
cmp eax, 0x5622
jne 0x401cdb
mov eax, dword [esp + 0x34]
push 0x4e28
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp 0x401cf1
cmp eax, 0xac44
jne 0x401cf9
mov eax, dword [esp + 0x34]
push 0xbb98
push eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, ebx
jne 0x402466
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0xa8]
push edx
push eax
mov ecx, dword [eax]
mov ebp, 0x9c5
call dword [ecx + 0x24]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
push edx
push eax
mov ecx, dword [eax]
mov ebp, 0x1a
call dword [ecx + 0x38]
test eax, eax
jne 0x402466
mov ebp, 0x1b
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xc8]
push edx
push eax
mov ecx, dword [eax]
mov ebp, 0xd
call dword [ecx + 0x18]
test eax, eax
jne 0x402466
mov ecx, dword [esp + 0xc8]
mov ebp, 0xe
cmp ecx, ebx
mov dword [0x404574], eax
jbe 0x401e40
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x2c]
push esi
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x1c]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0xb8]
push edx
push ebx
mov ecx, dword [eax]
push eax
mov ebp, 0xf
call dword [ecx + 0x18]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0xb8]
mov ebp, 0x10
and eax, 0xffff
shl eax, 1
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0xb8]
push edx
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x7c]
mov ebp, 0x11
push eax
push esi
call edi
add esp, 8
cmp esi, ebx
mov dword [esp + 0x14], eax
je 0x401e20
push esi
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0x14], ebx
je 0x401e40
mov eax, dword [0x404574]
mov ecx, dword [esp + 0xc8]
inc eax
cmp eax, ecx
mov dword [0x404574], eax
jb 0x401d8e
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x401e55
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x14]
push edx
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x14]
mov ebp, 0x12
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x30]
add esp, 4
lea esi, [esp + 0x14]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
push esi
push eax
push ecx
call dword [edx + 0x10]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x28]
mov edx, dword [0x403130]
mov ecx, eax
mov dword [esp + 0x20], ebx
fild qword [esp + 0xa0]
mov dword [ecx], edx
mov edx, dword [0x403134]
mov esi, dword [eax + 0x44]
mov ebp, 0x13
mov dword [ecx + 4], edx
mov edx, dword [0x403138]
fdivr qword [0x403140]
mov dword [ecx + 8], edx
mov edx, dword [0x40313c]
mov edi, esi
mov dword [ecx + 0xc], edx
mov edx, dword [0x403120]
lea ecx, [eax + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [0x403124]
mov dword [ecx + 4], edx
mov edx, dword [0x403128]
mov dword [ecx + 8], edx
mov edx, dword [0x40312c]
mov dword [eax + 0x20], 1
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0x160]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xb0]
mov dword [edi], ebx
xor eax, eax
mov dword [esp + 0x114], ecx
mov dword [edi + 4], eax
mov dword [esp + 0x118], edx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
lea edi, [esi + 0x10]
mov dword [esi + 0x10], ebx
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x1c], ecx
mov dword [edi + 0xc], edx
mov edx, dword [esp + 0xcc]
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0xb0]
mov dword [esi + 0x38], eax
fild qword [esp + 0x1c]
fmulp st(1)
call sub.MSVCRT.dll__ftol
mov edx, esi
mov ecx, dword [esp + 0x118]
mov dword [esi + 0x20], eax
xor eax, eax
mov dword [edx], ebx
mov dword [esi + 0x24], ebx
lea edi, [esi + 0x30]
lea esi, [esp + 0x14c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x114]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x402466
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [0x404574]
mov edx, dword [eax]
push ecx
push eax
mov ebp, 0x14
call dword [edx + 0x20]
test eax, eax
jne 0x402466
mov edx, dword [esp + 0x28]
mov esi, 1
mov ebp, 0x15
mov eax, dword [edx + 0x28]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x8c]
cmp eax, esi
jne 0x402154
mov ecx, dword [0x404574]
xor eax, eax
cmp ecx, ebx
mov ecx, dword [esp + 0x10]
sete al
lea edi, [esp + 0x88]
mov dword [0x404578], eax
mov edx, dword [ecx]
push edi
push eax
push ecx
call dword [edx + 0x1c]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x68]
mov edx, dword [0x403110]
mov ecx, eax
push eax
mov ebp, 0x1c
mov dword [ecx], edx
mov edx, dword [0x403114]
mov dword [ecx + 4], edx
mov edx, dword [0x403118]
mov dword [ecx + 8], edx
mov edx, dword [0x40311c]
mov dword [ecx + 0xc], edx
mov edx, dword [0x403100]
lea ecx, [eax + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [0x403104]
mov dword [ecx + 4], edx
mov edx, dword [0x403108]
mov dword [ecx + 8], edx
mov edx, dword [0x40310c]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], ebx
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0x104]
and ecx, 0xffff
lea edx, [eax + 0x2c]
mov dword [eax + 0x28], ecx
mov ecx, dword [0x4030c0]
mov dword [edx], ecx
mov ecx, dword [0x4030c4]
mov dword [edx + 4], ecx
mov ecx, dword [0x4030c8]
mov dword [edx + 8], ecx
mov ecx, dword [0x4030cc]
mov dword [eax + 0x3c], ebx
mov dword [edx + 0xc], ecx
mov edx, dword [eax + 0x44]
mov ecx, dword [esp + 0xf8]
mov dword [edx], ecx
mov ecx, dword [esp + 0xfc]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x100]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x104]
mov dword [edx + 0xc], ecx
mov cx, word [esp + 0x108]
mov word [edx + 0x10], cx
mov ecx, dword [esp + 0x8c]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x14]
test eax, eax
jne 0x402466
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [0x404578]
mov ecx, dword [eax]
push edx
push eax
mov ebp, 0x1d
call dword [ecx + 0x20]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0xfc]
mov ebp, 0x1e
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0xc4]
mov ebp, 0x1f
cmp eax, ebx
mov dword [esp + 0xac], 0x2c
mov dword [esp + 0xbc], ebx
jle 0x402453
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xa4]
cdq
push ecx
push edx
push eax
call fcn.00402660
mov ecx, eax
mov eax, dword [esp + 0x8c]
cmp eax, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
jne 0x4022f4
mov eax, dword [esp + 0x11c]
mov esi, dword [esp + 0xac]
cmp esi, eax
jge 0x4022f4
mov edi, dword [esp + 0xd8]
cmp edx, edi
jb 0x4022f4
ja 0x4021f9
cmp ecx, dword [esp + 0xd4]
jb 0x4022f4
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xec]
sub eax, edx
cmp eax, esi
jge 0x402216
mov esi, eax
mov dword [esp + 0xec], esi
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
push esi
mov edx, dword [eax]
push eax
mov ebp, 0x142
call dword [edx + 0x34]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x94]
push ecx
push eax
mov edx, dword [eax]
mov ebp, 0x20
call dword [edx + 0x18]
test eax, eax
jne 0x402466
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x94]
push edx
push 1
push esi
push eax
mov ebp, 0x21
call dword [sym.imp.MSVCRT.dll_fread]
mov eax, dword [esp + 0x28]
add esp, 0x10
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x402466
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [eax]
push ebx
push edi
push ecx
mov ecx, dword [0x404578]
mov ebp, 0x22
push ecx
push eax
call dword [edx + 0x38]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x18]
mov ebp, 0x23
cmp eax, ebx
je 0x4022c7
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x18], ebx
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xac]
add edx, 0x989680
adc edi, ebx
add eax, esi
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xac], eax
push str.pmlxzjasfclose
push ebx
push 0x1f0003
call dword [0x403004]
test eax, eax
jne 0x402619
mov eax, dword [esp + 0x120]
push 0xffffffffffffffff
push eax
call dword [0x40300c]
mov esi, dword [esp + 0xd0]
mov edi, str.pmlxzjnofr
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x402351
cmp al, bl
je 0x40234d
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x402351
add esi, 2
add edi, 2
cmp al, bl
jne 0x402329
xor eax, eax
jmp 0x402356
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40241f
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0xf4]
mov ecx, dword [eax]
push edx
push eax
mov ebp, 0x16e
call dword [ecx + 0x34]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x94]
push edx
push eax
mov ecx, dword [eax]
mov ebp, 0x24
call dword [ecx + 0x18]
test eax, eax
jne 0x402466
mov edx, dword [esp + 0xf0]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x94]
mov ecx, edx
mov eax, ecx
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov ebp, 0x25
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
test eax, eax
jne 0x402466
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax]
push ebx
push ecx
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [0x404574]
push ecx
push eax
mov ebp, 0x26
call dword [edx + 0x38]
test eax, eax
jne 0x402466
mov eax, dword [esp + 0x18]
mov ebp, 0x27
cmp eax, ebx
je 0x40241f
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0xb4]
push ebx
push 1
push 0x415
push eax
call dword [0x40308c]
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc4]
inc eax
cmp eax, ecx
mov dword [esp + 0xbc], eax
jl 0x40218c
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
test eax, eax
jne 0x402466
mov byte [esp + 0x27], 1
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x402478
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov eax, dword [esp + 0x10]
pop edi
cmp eax, ebx
pop esi
je 0x40248c
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x90]
cmp eax, ebx
je 0x4024a4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x4024b6
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x64]
cmp eax, ebx
je 0x4024c8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0x4024da
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x4024ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4024fe
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40250f
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x88]
cmp eax, ebx
je 0x402523
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x402538
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0xa0]
cmp eax, ebx
je 0x402553
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0xa0], ebx
mov eax, dword [esp + 0xb8]
cmp eax, ebx
je 0x402567
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x94]
cmp eax, ebx
je 0x402582
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x94], ebx
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x402594
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0x4025a6
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x80]
cmp eax, ebx
je 0x4025be
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x4025cf
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
call dword [0x4030a0]
mov edx, dword [esp + 0xc8]
push edx
call dword [0x403010]
mov eax, dword [esp + 0x100]
push eax
call dword [0x403014]
cmp byte [esp + 0x1f], 1
jne 0x402623
mov ecx, dword [esp + 0xac]
push ebx
push 2
push 0x415
push ecx
call dword [0x40308c]
pop ebp
xor eax, eax
pop ebx
add esp, 0x5a4
ret
mov byte [esp + 0x26], 1
jmp 0x402466
cmp byte [esp + 0x1e], bl
jne 0x40263f
mov edx, dword [esp + 0xac]
push ebp
push 3
push 0x415
push edx
call dword [0x40308c]
pop ebp
xor eax, eax
pop ebx
add esp, 0x5a4
ret