Function at 0x5e2760
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f67ee
mov eax, dword fs:[0]
push eax
sub esp, 0x33c
mov eax, dword [0x766480]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp + 8]
push 0x7062c4
push eax
mov dword [ebp - 0x2c0], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov edi, eax
add esp, 8
mov dword [ebp - 0x2a4], edi
test edi, edi
je 0x5e4aa9
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push 2
push 0
push edi
call esi
lea eax, [ebp - 0x2c8]
xorps xmm0, xmm0
push eax
push edi
movlpd qword [ebp - 0x2c8], xmm0
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetpos]
push 0
push 0
push edi
call esi
push dword [ebp - 0x2c8]
call fcn.006dff04
mov esi, dword [ebp - 0x2a4]
mov edi, eax
push esi
push 1
push dword [ebp - 0x2c8]
mov dword [ebp - 0x258], edi
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov esi, dword [ebp - 0x2c8]
add esp, 0x38
test esi, esi
je 0x5e284e
mov edx, 0x100
xor eax, eax
cmp esi, edx
jle 0x5e284e
xor ecx, ecx
cmp eax, 3
cmovne ecx, eax
mov al, byte [edx + edi]
sub al, cl
xor al, byte [ecx + str.cjsgkdmlTlqkfshaemfdmlwktlsdjqtsmsgkfn]
mov byte [edx + edi], al
inc edx
lea eax, [ecx + 1]
cmp edx, esi
jl 0x5e2830
mov esi, dword [ebp - 0x268]
push 0x240
push 0
lea eax, [esi + 4]
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x244]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x484]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x6c4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x904]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0xb44]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x48
lea eax, [esi + 0xd84]
push 0x240
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0xfc4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x1204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x1444]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x1800]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x240
lea eax, [esi + 0x1a40]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x48
lea eax, [esi + 0x1c80]
push 0x240
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x2c0]
mov edx, esi
add esp, 0xc
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx + 0x16f3], al
test al, al
jne 0x5e2960
mov ecx, esi
call fcn.005df1b0
mov eax, dword [edi + 0x100]
mov dword [esi + 0x1ee4], eax
mov eax, dword [edi + 0x104]
mov dword [esi + 0x1ee8], eax
mov eax, dword [edi + 0x108]
mov dword [esi + 0x1eec], eax
mov eax, dword [edi + 0x10c]
mov dword [esi + 0x1ef0], eax
mov esi, 0x114
mov eax, dword [edi + 0x110]
mov dword [ebp - 0x254], eax
test eax, eax
jle 0x5e2b67
mov ecx, dword [ebp - 0x268]
cmp dword [ecx + 0x16f0], 0
jne 0x5e2aa0
push 0x14
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x5e29f9
mov ecx, eax
call fcn.005f62b0
mov edi, eax
jmp 0x5e29fb
xor edi, edi
mov ecx, dword [ebp - 0x258]
push 0x4204
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24c], edi
mov eax, dword [esi + ecx]
mov dword [edi + 4], eax
mov eax, dword [esi + ecx + 4]
add esi, 8
mov dword [edi + 8], eax
call fcn.006dff04
mov ecx, dword [ebp - 0x258]
push 0x4204
add ecx, esi
mov dword [edi + 0xc], eax
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x10
add esi, 0x4204
cmp dword [edi + 4], 0xb
ja 0x5e2a7f
cmp dword [edi + 8], 0xb
ja 0x5e2a7f
mov ecx, dword [ebp - 0x268]
add ecx, 0x1ecc
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e2a70
mov dword [eax], edi
add dword [ecx + 4], 4
jmp 0x5e2a87
lea edx, [ebp - 0x24c]
push edx
push eax
call fcn.00462fd0
jmp 0x5e2a87
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
sub dword [ebp - 0x254], 1
jne 0x5e29d3
jmp 0x5e2b61
push 0x14
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x5e2ac6
mov ecx, eax
call fcn.005f62b0
mov edi, eax
jmp 0x5e2ac8
xor edi, edi
mov ecx, dword [ebp - 0x258]
push 0x4204
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24c], edi
mov eax, dword [esi + ecx]
mov dword [edi + 4], eax
mov eax, dword [esi + ecx + 4]
add esi, 8
mov dword [edi + 8], eax
call fcn.006dff04
mov ecx, dword [ebp - 0x258]
push 0x4204
add ecx, esi
mov dword [edi + 0xc], eax
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x10
add esi, 0x4204
cmp dword [edi + 4], 0xb
ja 0x5e2b4c
cmp dword [edi + 8], 0xb
ja 0x5e2b4c
mov ecx, dword [ebp - 0x268]
add ecx, 0x1ecc
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e2b3d
mov dword [eax], edi
add dword [ecx + 4], 4
jmp 0x5e2b54
lea edx, [ebp - 0x24c]
push edx
push eax
call fcn.00462fd0
jmp 0x5e2b54
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
sub dword [ebp - 0x254], 1
jne 0x5e2aa0
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x260], eax
test eax, eax
jle 0x5e2c90
nop dword [eax + eax]
push 0x28
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x5e2ba6
mov ecx, eax
call fcn.00601340
mov edi, eax
jmp 0x5e2ba8
xor edi, edi
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x25c], edi
mov eax, dword [esi + ecx]
mov dword [edi + 8], eax
mov edx, dword [esi + ecx + 4]
mov dword [edi + 0xc], edx
mov dword [ebp - 0x24c], eax
mov eax, dword [esi + ecx + 8]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + ecx + 0xc]
mov dword [edi + 0x20], eax
mov eax, dword [esi + ecx + 0x10]
mov dword [edi + 0x14], eax
mov eax, dword [esi + ecx + 0x14]
mov dword [edi + 0x18], eax
mov eax, dword [esi + ecx + 0x18]
mov dword [edi + 0x10], eax
mov al, byte [esi + ecx + 0x1c]
mov byte [edi + 4], al
mov eax, dword [esi + ecx + 0x1d]
add esi, 0x21
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x24c]
cmp eax, 0xb
ja 0x5e2c75
cmp edx, 0xb
ja 0x5e2c75
imul eax, eax, 0xb
add eax, edx
mov dword [ebp - 0x24c], eax
cmp eax, 0x8f
ja 0x5e2c75
mov ecx, dword [ebp - 0x268]
add ecx, 0x16a8
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e2c53
mov dword [eax], edi
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x904], edi
jmp 0x5e2c7d
lea edx, [ebp - 0x25c]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x904], edi
jmp 0x5e2c7d
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
sub dword [ebp - 0x260], 1
jne 0x5e2b80
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e2e94
lea eax, [esi + edi]
mov dword [ebp - 0x260], eax
push 0x628
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x5e2ce2
mov ecx, eax
call fcn.00601380
mov edx, eax
mov dword [ebp - 0x254], eax
jmp 0x5e2cea
xor edx, edx
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x260]
lea edi, [edx + 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x274], edx
mov ecx, dword [eax]
lea esi, [eax + 8]
mov dword [edx + 0x620], ecx
mov dword [ebp - 0x24c], ecx
mov ecx, dword [eax + 4]
add eax, 0x108
mov dword [edx + 0x624], ecx
mov dword [ebp - 0x25c], ecx
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [edx + 0x320]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x100]
mov ecx, 0x40
lea edi, [edx + 0x120]
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x200]
mov ecx, 0x40
lea edi, [edx + 0x420]
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x300]
mov ecx, 0x40
lea edi, [edx + 0x220]
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x400]
mov ecx, 0x40
lea edi, [edx + 0x520]
add eax, 0x500
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x250]
add esi, 0x608
mov dword [ebp - 0x260], eax
cmp dword [0x747934], 0
mov dword [ebp - 0x250], esi
jne 0x5e2e0b
movq xmm0, qword [str.detail.dds]
movq qword [edx + 0x320], xmm0
mov ax, word [0x711414]
mov word [edx + 0x328], ax
movzx eax, byte [0x711416]
mov byte [edx + 0x32a], al
movzx eax, byte [0x700992]
mov byte [edx + 0x120], al
movzx eax, byte [0x700992]
mov byte [edx + 0x420], al
movzx eax, byte [0x700992]
mov byte [edx + 0x220], al
movzx eax, byte [0x700992]
mov byte [edx + 0x520], al
mov eax, dword [ebp - 0x24c]
cmp eax, 0xb
ja 0x5e2e79
mov ecx, dword [ebp - 0x25c]
cmp ecx, 0xb
ja 0x5e2e79
imul edi, eax, 0xb
add edi, ecx
cmp edi, 0x8f
ja 0x5e2e79
mov ecx, dword [ebp - 0x268]
add ecx, 0x1ed8
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e2e57
mov dword [eax], edx
mov eax, dword [ebp - 0x268]
add dword [ecx + 4], 4
mov dword [eax + edi*4 + 0x1c80], edx
jmp 0x5e2e81
lea edx, [ebp - 0x274]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x254]
mov dword [eax + edi*4 + 0x1c80], edx
jmp 0x5e2e81
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
sub dword [ebp - 0x248], 1
jne 0x5e2cb3
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x250], eax
test eax, eax
jle 0x5e3136
push 0x54
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x5e2ed4
mov ecx, eax
call fcn.005f6070
mov edi, eax
mov dword [ebp - 0x254], eax
jmp 0x5e2edc
xor edi, edi
mov dword [ebp - 0x254], edi
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2b0], edi
mov eax, dword [esi + ecx]
mov dword [edi + 4], eax
mov eax, dword [esi + ecx + 4]
mov dword [edi + 8], eax
mov eax, dword [esi + ecx + 8]
mov dword [edi + 0x48], eax
mov eax, dword [esi + ecx + 0xc]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + ecx + 0x10]
mov dword [edi + 0x50], eax
mov eax, dword [esi + ecx + 0x14]
add esi, 0x18
mov dword [ebp - 0x260], eax
test eax, eax
jle 0x5e30a8
lea eax, [edi + 0x18]
mov dword [ebp - 0x25c], eax
lea edx, [edi + 0x30]
lea eax, [edi + 0x24]
mov dword [ebp - 0x2a0], edx
mov dword [ebp - 0x274], eax
lea eax, [edi + 0xc]
mov dword [ebp - 0x294], eax
lea eax, [edi + 0x3c]
mov dword [ebp - 0x24c], eax
mov edi, eax
nop word [eax + eax]
mov eax, dword [esi + ecx]
mov dword [ebp - 0x248], eax
mov eax, dword [edx + 4]
cmp eax, dword [edx + 8]
je 0x5e2f85
movss xmm0, dword [ebp - 0x248]
movss dword [eax], xmm0
add eax, 4
mov dword [edx + 4], eax
jmp 0x5e2f9a
lea ecx, [ebp - 0x248]
push ecx
push eax
mov ecx, edx
call fcn.00462fd0
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x25c]
mov eax, dword [esi + ecx + 4]
mov dword [ebp - 0x248], eax
mov eax, dword [edx + 4]
cmp eax, dword [edx + 8]
je 0x5e2fc6
movss xmm0, dword [ebp - 0x248]
movss dword [eax], xmm0
add eax, 4
mov dword [edx + 4], eax
jmp 0x5e2fdb
lea ecx, [ebp - 0x248]
push ecx
push eax
mov ecx, edx
call fcn.00462fd0
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x274]
mov eax, dword [esi + ecx + 8]
mov dword [ebp - 0x248], eax
mov eax, dword [edx + 4]
cmp eax, dword [edx + 8]
je 0x5e3007
movss xmm0, dword [ebp - 0x248]
movss dword [eax], xmm0
add eax, 4
mov dword [edx + 4], eax
jmp 0x5e301c
lea ecx, [ebp - 0x248]
push ecx
push eax
mov ecx, edx
call fcn.00462fd0
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x294]
mov eax, dword [esi + ecx + 0xc]
mov dword [ebp - 0x248], eax
mov eax, dword [edx + 4]
cmp eax, dword [edx + 8]
je 0x5e3048
movss xmm0, dword [ebp - 0x248]
movss dword [eax], xmm0
add eax, 4
mov dword [edx + 4], eax
jmp 0x5e305d
lea ecx, [ebp - 0x248]
push ecx
push eax
mov ecx, edx
call fcn.00462fd0
mov ecx, dword [ebp - 0x258]
mov eax, dword [esi + ecx + 0x10]
add esi, 0x14
mov ecx, dword [edi + 4]
mov dword [ebp - 0x24c], eax
cmp ecx, dword [edi + 8]
je 0x5e307a
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x5e3089
lea eax, [ebp - 0x24c]
push eax
push ecx
mov ecx, edi
call fcn.00462fd0
sub dword [ebp - 0x260], 1
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x2a0]
jne 0x5e2f60
mov edi, dword [ebp - 0x254]
mov eax, dword [edi + 4]
cmp eax, 0xb
ja 0x5e311b
mov ecx, dword [edi + 8]
cmp ecx, 0xb
ja 0x5e311b
imul eax, eax, 0xb
add eax, ecx
mov dword [ebp - 0x2a0], eax
cmp eax, 0x8f
ja 0x5e311b
mov ecx, dword [ebp - 0x268]
add ecx, 0x16b4
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e30f9
mov dword [eax], edi
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0xb44], edi
jmp 0x5e3123
lea edx, [ebp - 0x2b0]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0xb44], edi
jmp 0x5e3123
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
sub dword [ebp - 0x250], 1
jne 0x5e2ea8
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x24c], eax
test eax, eax
jle 0x5e34ad
nop word [eax + eax]
mov eax, dword [esi + edi]
mov dword [ebp - 0x25c], eax
mov eax, dword [esi + edi + 4]
push 0x54
mov dword [ebp - 0x274], eax
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x5e318f
mov ecx, eax
call fcn.005f6310
mov edx, eax
mov dword [ebp - 0x260], eax
jmp 0x5e3197
xor edx, edx
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x274]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov eax, dword [esi + edi + 8]
add esi, 0xc
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e341f
lea eax, [edx + 0x18]
mov dword [ebp - 0x2b0], eax
lea ecx, [edx + 0xc]
lea eax, [edx + 0x24]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x2b8], eax
lea eax, [edx + 0x30]
mov dword [ebp - 0x298], eax
lea eax, [edx + 0x3c]
add edx, 0x48
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x28c], edx
add edi, esi
nop dword [eax]
movups xmm0, xmmword [edi]
mov eax, dword [ecx + 4]
movups xmm1, xmmword [edi + 0x10]
movups xmm2, xmmword [edi + 0x20]
movups xmm3, xmmword [edi + 0x30]
movups xmmword [ebp - 0x328], xmm0
movups xmmword [ebp - 0x318], xmm1
movups xmmword [ebp - 0x308], xmm2
movups xmmword [ebp - 0x2f8], xmm3
cmp eax, dword [ecx + 8]
je 0x5e3258
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax + 0x20], xmm2
movups xmmword [eax + 0x30], xmm3
add dword [ecx + 4], 0x40
jmp 0x5e3265
lea edx, [ebp - 0x328]
push edx
push eax
call fcn.005ddc60
mov edx, dword [ebp - 0x2b0]
mov ecx, dword [edi + 0x40]
add edi, 0x44
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x2a0], ecx
mov eax, dword [edx + 4]
cmp eax, dword [edx + 8]
je 0x5e328d
mov dword [eax], ecx
add dword [edx + 4], 4
jmp 0x5e329c
lea ecx, [ebp - 0x2a0]
push ecx
push eax
mov ecx, edx
call fcn.00462fd0
push 0x100
call fcn.006dff04
mov edx, dword [ebp - 0x2b8]
mov esi, edi
add dword [ebp - 0x248], 0x100
mov ecx, 0x40
mov edi, eax
mov dword [ebp - 0x254], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx + 4]
add esp, 4
cmp ecx, dword [edx + 8]
je 0x5e32da
mov dword [ecx], eax
add dword [edx + 4], 4
jmp 0x5e32e9
lea eax, [ebp - 0x254]
push eax
push ecx
mov ecx, edx
call fcn.00462fd0
push 0x100
call fcn.006dff04
mov edx, eax
mov ecx, 0x40
mov eax, dword [ebp - 0x248]
mov edi, edx
mov esi, eax
mov dword [ebp - 0x254], edx
add eax, 0x100
add esp, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x298]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x5e3330
mov dword [ecx], edx
add dword [eax + 4], 4
jmp 0x5e333f
lea edx, [ebp - 0x254]
push edx
push ecx
mov ecx, eax
call fcn.00462fd0
push 0x100
call fcn.006dff04
mov edx, eax
mov ecx, 0x40
mov eax, dword [ebp - 0x248]
mov edi, edx
mov esi, eax
mov dword [ebp - 0x254], edx
add eax, 0x100
add esp, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x29c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x5e3386
mov dword [ecx], edx
add dword [eax + 4], 4
jmp 0x5e3395
lea edx, [ebp - 0x254]
push edx
push ecx
mov ecx, eax
call fcn.00462fd0
push 0x100
call fcn.006dff04
mov esi, dword [ebp - 0x248]
mov edx, eax
mov ecx, 0x40
mov dword [ebp - 0x254], edx
mov edi, edx
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x250]
mov edi, dword [ebp - 0x248]
add esi, 0x444
add edi, 0x100
mov dword [ebp - 0x250], esi
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e33ed
mov dword [eax], edx
add dword [ecx + 4], 4
jmp 0x5e33fa
lea edx, [ebp - 0x254]
push edx
push eax
call fcn.00462fd0
sub dword [ebp - 0x294], 1
mov ecx, dword [ebp - 0x27c]
jne 0x5e3210
mov edi, dword [ebp - 0x258]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x25c]
cmp eax, 0xb
ja 0x5e3498
cmp ecx, 0xb
ja 0x5e3498
imul eax, eax, 0xb
add eax, ecx
mov dword [ebp - 0x27c], eax
cmp eax, 0x8f
ja 0x5e3498
mov ecx, dword [ebp - 0x268]
add ecx, 0x17f4
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e3470
mov dword [eax], edx
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x6c4], edx
jmp 0x5e34a0
lea edx, [ebp - 0x280]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [ecx + eax*4 + 0x6c4], edx
jmp 0x5e34a0
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
sub dword [ebp - 0x24c], 1
jne 0x5e3150
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e3b13
nop word [eax + eax]
push 0x484
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x5e34f7
mov ecx, eax
call fcn.005dc770
jmp 0x5e34f9
xor eax, eax
mov edx, dword [ebp - 0x258]
lea edi, [eax + 0x204]
mov dword [ebp - 0x248], eax
add esi, edx
mov dword [ebp - 0x298], eax
mov ecx, 0x40
mov eax, dword [ebp - 0x250]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x248]
add eax, 0x100
add edi, 0x104
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x280], edi
mov ecx, 0x40
lea esi, [eax + edx]
add eax, 0x100
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x248]
lea esi, [eax + edx]
add edi, 4
mov ecx, 0x40
mov dword [ebp - 0x27c], edi
add eax, 0x100
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x248]
lea esi, [eax + edx]
mov ecx, 0x40
mov dword [ebp - 0x250], eax
add edi, 0x304
mov dword [ebp - 0x28c], edi
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x248]
mov esi, eax
add edi, 0x204
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strlwr]
add esp, 4
sub edi, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [eax + edi - 1], cl
test cl, cl
jne 0x5e35a7
mov edi, dword [ebp - 0x280]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strlwr]
add esp, 4
sub edi, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [eax + edi - 1], cl
test cl, cl
jne 0x5e35c6
mov edi, dword [ebp - 0x27c]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strlwr]
add esp, 4
sub edi, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [eax + edi - 1], cl
test cl, cl
jne 0x5e35e5
mov edi, dword [ebp - 0x28c]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strlwr]
add esp, 4
sub edi, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [eax + edi - 1], cl
test cl, cl
jne 0x5e3604
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi + 0x100]
add esi, 0x104
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e390c
add edi, esi
mov byte [ebp - 0x26d], 1
mov dword [ebp - 0x27c], 0
mov byte [ebp - 0x261], 1
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x24c], edi
nop dword [eax]
push 0x100
call fcn.006dff04
mov edx, dword [ebp - 0x248]
mov esi, edi
mov ecx, 0x40
mov dword [ebp - 0x280], eax
mov edi, eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x24c]
mov ecx, dword [edx + 0x408]
add esi, 0x100
mov edi, esi
cmp ecx, dword [edx + 0x40c]
je 0x5e36bb
mov dword [ecx], eax
add dword [edx + 0x408], 4
jmp 0x5e36ce
lea eax, [ebp - 0x280]
push eax
push ecx
lea ecx, [edx + 0x404]
call fcn.00462fd0
mov edx, dword [ebp - 0x248]
mov ecx, dword [esi]
mov dword [ebp - 0x280], ecx
mov eax, dword [edx + 0x440]
cmp eax, dword [edx + 0x444]
je 0x5e36f5
mov dword [eax], ecx
add dword [edx + 0x440], 4
jmp 0x5e3708
lea ecx, [ebp - 0x280]
push ecx
push eax
lea ecx, [edx + 0x43c]
call fcn.00462fd0
mov ecx, dword [ebp - 0x248]
movups xmm0, xmmword [esi + 4]
add ecx, 0x410
movups xmm1, xmmword [esi + 0x14]
movups xmm2, xmmword [esi + 0x24]
mov eax, dword [ecx + 4]
movups xmm3, xmmword [esi + 0x34]
movups xmmword [ebp - 0x328], xmm0
movups xmmword [ebp - 0x318], xmm1
movups xmmword [ebp - 0x308], xmm2
movups xmmword [ebp - 0x2f8], xmm3
cmp eax, dword [ecx + 8]
je 0x5e375d
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax + 0x20], xmm2
movups xmmword [eax + 0x30], xmm3
add dword [ecx + 4], 0x40
jmp 0x5e376a
lea edx, [ebp - 0x328]
push edx
push eax
call fcn.005ddc60
mov esi, dword [ebp - 0x248]
mov ecx, dword [esi + 0x428]
mov edx, dword [esi + 0x41c]
mov dword [ebp - 0x2ac], edx
test ecx, ecx
jns 0x5e37a8
mov eax, ecx
neg eax
cmp dword [ebp - 0x27c], eax
jae 0x5e37a8
xor eax, eax
add ecx, eax
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e37b4
xor eax, eax
add ecx, eax
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
and ecx, 0x1f
push 1
push ecx
push edx
lea ecx, [esi + 0x41c]
call fcn.005e4bb0
mov edx, dword [esi + 0x41c]
mov ecx, eax
xor esi, esi
mov dword [ebp - 0x2ac], edx
test ecx, ecx
jns 0x5e37f4
neg eax
cmp esi, eax
jae 0x5e37f4
add ecx, esi
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e37fe
add ecx, esi
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
lea eax, [ebp - 0x26d]
and ecx, 0x1f
push eax
push 1
push ecx
push edx
lea eax, [ebp - 0x2ac]
push eax
call fcn.005de460
mov ecx, dword [ebp - 0x248]
add edi, 0x46
mov esi, dword [ebp - 0x250]
add esp, 0x14
add esi, 0x146
mov dword [ebp - 0x24c], edi
mov dword [ebp - 0x250], esi
mov edx, dword [ecx + 0x42c]
mov ecx, dword [ecx + 0x438]
mov dword [ebp - 0x2ac], edx
test ecx, ecx
jns 0x5e3874
mov eax, ecx
neg eax
cmp dword [ebp - 0x28c], eax
jae 0x5e3874
xor eax, eax
add ecx, eax
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e3880
xor eax, eax
add ecx, eax
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
and ecx, 0x1f
push 1
push ecx
mov ecx, dword [ebp - 0x248]
push edx
lea ecx, [ecx + 0x42c]
call fcn.005e4bb0
mov edx, dword [ebp - 0x248]
mov ecx, eax
mov edx, dword [edx + 0x42c]
mov dword [ebp - 0x2ac], edx
test ecx, ecx
jns 0x5e38d0
neg eax
cmp dword [ebp - 0x29c], eax
jae 0x5e38d0
xor eax, eax
add ecx, eax
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e38dc
xor eax, eax
add ecx, eax
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
lea eax, [ebp - 0x261]
and ecx, 0x1f
push eax
push 1
push ecx
push edx
lea eax, [ebp - 0x2ac]
push eax
call fcn.005de460
add esp, 0x14
sub dword [ebp - 0x25c], 1
jne 0x5e3670
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e3ace
add edi, esi
mov dword [ebp - 0x24c], edi
nop
push 0x100
call fcn.006dff04
mov edx, dword [ebp - 0x248]
mov esi, edi
mov ecx, 0x40
mov dword [ebp - 0x280], eax
mov edi, eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x24c]
mov ecx, dword [edx + 0x44c]
add esi, 0x100
mov edi, esi
cmp ecx, dword [edx + 0x450]
je 0x5e397b
mov dword [ecx], eax
add dword [edx + 0x44c], 4
jmp 0x5e398e
lea eax, [ebp - 0x280]
push eax
push ecx
lea ecx, [edx + 0x448]
call fcn.00462fd0
mov edx, dword [ebp - 0x248]
mov ecx, dword [esi]
mov dword [ebp - 0x280], ecx
mov eax, dword [edx + 0x47c]
cmp eax, dword [edx + 0x480]
je 0x5e39b5
mov dword [eax], ecx
add dword [edx + 0x47c], 4
jmp 0x5e39c8
lea ecx, [ebp - 0x280]
push ecx
push eax
lea ecx, [edx + 0x478]
call fcn.00462fd0
movups xmm0, xmmword [esi + 4]
movups xmm1, xmmword [esi + 0x14]
movups xmm2, xmmword [esi + 0x24]
movups xmm3, xmmword [esi + 0x34]
mov esi, dword [ebp - 0x248]
mov eax, dword [esi + 0x458]
lea ecx, [esi + 0x454]
movups xmmword [ebp - 0x328], xmm0
movups xmmword [ebp - 0x318], xmm1
movups xmmword [ebp - 0x308], xmm2
movups xmmword [ebp - 0x2f8], xmm3
cmp eax, dword [ecx + 8]
je 0x5e3a20
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax + 0x20], xmm2
movups xmmword [eax + 0x30], xmm3
add dword [ecx + 4], 0x40
jmp 0x5e3a2d
lea edx, [ebp - 0x328]
push edx
push eax
call fcn.005ddc60
mov eax, dword [edi + 0x44]
lea ecx, [esi + 0x460]
mov dword [ebp - 0x24c], eax
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e3a58
movss xmm0, dword [ebp - 0x24c]
movss dword [eax], xmm0
add eax, 4
mov dword [ecx + 4], eax
jmp 0x5e3a65
lea edx, [ebp - 0x24c]
push edx
push eax
call fcn.00462fd0
mov edx, dword [ebp - 0x248]
mov esi, dword [ebp - 0x250]
mov eax, dword [edi + 0x48]
add esi, 0x14c
add edi, 0x4c
mov dword [ebp - 0x280], eax
mov ecx, dword [edx + 0x470]
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x24c], edi
cmp ecx, dword [edx + 0x474]
je 0x5e3aa8
mov dword [ecx], eax
add dword [edx + 0x470], 4
jmp 0x5e3abb
lea eax, [ebp - 0x280]
push eax
push ecx
lea ecx, [edx + 0x46c]
call fcn.00462fd0
sub dword [ebp - 0x25c], 1
jne 0x5e3930
mov edi, dword [ebp - 0x258]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x16c4]
cmp eax, dword [edx + 0x16c8]
je 0x5e3af3
mov ecx, dword [ebp - 0x248]
mov dword [eax], ecx
add dword [edx + 0x16c4], 4
jmp 0x5e3b06
lea ecx, [ebp - 0x298]
push ecx
push eax
lea ecx, [edx + 0x16c0]
call fcn.00462fd0
sub dword [ebp - 0x274], 1
jne 0x5e34d0
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x25c], eax
test eax, eax
jle 0x5e3d64
push 0x30
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x5e3b4d
mov ecx, eax
call fcn.005f75d0
mov edi, eax
jmp 0x5e3b4f
xor edi, edi
mov edx, dword [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x280], edi
mov eax, dword [esi + edx]
mov dword [edi + 4], eax
mov eax, dword [esi + edx + 4]
mov dword [edi + 8], eax
mov eax, dword [esi + edx + 8]
add esi, 0xc
mov dword [ebp - 0x24c], eax
test eax, eax
jle 0x5e3cd6
lea eax, [edi + 0x24]
nop word [eax + eax]
mov cl, byte [esi + edx]
mov byte [ebp - 0x261], cl
mov cl, byte [esi + edx + 1]
mov byte [ebp - 0x277], cl
mov byte [ebp - 0x275], cl
mov cl, byte [esi + edx + 2]
add esi, 3
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x254], eax
mov eax, edx
sub eax, dword [ebp - 0x254]
mov byte [ebp - 0x26d], cl
mov byte [ebp - 0x276], cl
xor ecx, ecx
mov dword [ebp - 0x250], esi
mov byte [ebp - 0x285], 0
test eax, eax
jle 0x5e3c45
mov eax, dword [edi + 0xc]
mov dl, byte [ebp - 0x277]
cmp byte [ecx + eax], dl
jne 0x5e3c26
mov eax, dword [edi + 0x18]
mov dh, byte [ebp - 0x26d]
cmp byte [ecx + eax], dh
jne 0x5e3c26
mov eax, dword [ebp - 0x254]
mov dl, byte [ebp - 0x261]
mov byte [ebp - 0x285], 1
mov byte [ecx + eax], dl
mov eax, dword [edi + 0xc]
mov dl, byte [ebp - 0x277]
mov byte [eax + ecx], dl
mov eax, dword [edi + 0x18]
mov byte [eax + ecx], dh
mov eax, dword [edi + 0x24]
inc ecx
mov edx, dword [edi + 0x28]
mov dword [ebp - 0x254], eax
mov eax, edx
sub eax, dword [ebp - 0x254]
cmp ecx, eax
jl 0x5e3be2
mov esi, dword [ebp - 0x250]
cmp byte [ebp - 0x285], 0
jne 0x5e3cc0
mov cl, byte [ebp - 0x261]
mov byte [ebp - 0x261], cl
cmp edx, dword [edi + 0x2c]
je 0x5e3c66
mov byte [edx], cl
inc dword [edi + 0x28]
jmp 0x5e3c76
lea ecx, [ebp - 0x261]
push ecx
push edx
lea ecx, [edi + 0x24]
call fcn.005ddb50
mov edx, dword [edi + 0x10]
lea ecx, [edi + 0xc]
cmp edx, dword [ecx + 8]
je 0x5e3c8e
mov al, byte [ebp - 0x277]
mov byte [edx], al
inc dword [ecx + 4]
jmp 0x5e3c9b
lea eax, [ebp - 0x275]
push eax
push edx
call fcn.005ddb50
mov edx, dword [edi + 0x1c]
lea ecx, [edi + 0x18]
cmp edx, dword [ecx + 8]
je 0x5e3cb3
mov al, byte [ebp - 0x26d]
mov byte [edx], al
inc dword [ecx + 4]
jmp 0x5e3cc0
lea eax, [ebp - 0x276]
push eax
push edx
call fcn.005ddb50
sub dword [ebp - 0x24c], 1
lea eax, [edi + 0x24]
mov edx, dword [ebp - 0x258]
jne 0x5e3b90
mov eax, dword [edi + 4]
cmp eax, 0xb
ja 0x5e3d49
mov ecx, dword [edi + 8]
cmp ecx, 0xb
ja 0x5e3d49
imul eax, eax, 0xb
add eax, ecx
mov dword [ebp - 0x27c], eax
cmp eax, 0x8f
ja 0x5e3d49
mov ecx, dword [ebp - 0x268]
add ecx, 0x169c
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e3d27
mov dword [eax], edi
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x484], edi
jmp 0x5e3d51
lea edx, [ebp - 0x280]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x484], edi
jmp 0x5e3d51
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
sub dword [ebp - 0x25c], 1
jne 0x5e3b27
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x248], eax
test eax, eax
jle 0x5e417f
push 0x50
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 4], 8
test eax, eax
je 0x5e3da4
mov ecx, eax
call fcn.005f7340
mov edx, eax
mov dword [ebp - 0x254], eax
jmp 0x5e3dac
xor edx, edx
mov dword [ebp - 0x254], edx
mov eax, dword [esi + edi]
mov dword [edx + 0x10], eax
mov eax, dword [esi + edi + 4]
mov dword [edx + 0x14], eax
mov eax, dword [esi + edi + 8]
add esi, 0xc
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e40f1
lea eax, [edx + 0x18]
mov byte [ebp - 0x276], 1
mov dword [ebp - 0x28c], eax
lea ecx, [esi + edi]
lea eax, [edx + 0x24]
mov byte [ebp - 0x275], 1
mov dword [ebp - 0x29c], eax
lea eax, [edx + 4]
mov dword [ebp - 0x298], eax
lea eax, [edx + 0x40]
add edx, 0x30
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x274], edx
nop
mov eax, dword [ecx]
add ecx, 4
push 0x100
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x280], ecx
call fcn.006dff04
mov edx, eax
mov ecx, 0x40
mov eax, dword [ebp - 0x260]
mov edi, edx
mov esi, eax
mov dword [ebp - 0x24c], edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28c]
add esp, 4
movups xmm0, xmmword [eax + 0x100]
mov esi, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x27c]
add esi, 0x146
movups xmmword [ebp - 0x2e8], xmm0
mov dword [ebp - 0x250], esi
movups xmmword [ebp - 0x328], xmm0
movups xmm0, xmmword [eax + 0x110]
movups xmmword [ebp - 0x2d8], xmm0
movups xmmword [ebp - 0x318], xmm0
movups xmm0, xmmword [eax + 0x120]
movups xmmword [ebp - 0x338], xmm0
movups xmmword [ebp - 0x308], xmm0
movups xmm0, xmmword [eax + 0x130]
mov eax, dword [ebp - 0x280]
add eax, 0x142
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x260], eax
mov eax, dword [edi + 4]
movups xmmword [ebp - 0x348], xmm0
movups xmmword [ebp - 0x2f8], xmm0
cmp eax, dword [edi + 8]
je 0x5e3ef6
mov dword [eax], ecx
add dword [edi + 4], 4
jmp 0x5e3f0b
lea ecx, [ebp - 0x280]
push ecx
push eax
mov ecx, edi
call fcn.00462fd0
mov edx, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x29c]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e3f21
mov dword [eax], edx
add dword [ecx + 4], 4
jmp 0x5e3f2e
lea edx, [ebp - 0x24c]
push edx
push eax
call fcn.00462fd0
mov ecx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e3f6d
movups xmm0, xmmword [ebp - 0x2e8]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0x2d8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x338]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x348]
movups xmmword [eax + 0x30], xmm0
add dword [ecx + 4], 0x40
jmp 0x5e3f7a
lea edx, [ebp - 0x328]
push edx
push eax
call fcn.005ddc60
mov eax, dword [ebp - 0x25c]
mov edx, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x284], edx
mov edi, eax
test ecx, ecx
jns 0x5e3fb1
mov eax, ecx
neg eax
cmp edi, eax
jae 0x5e3fb1
xor eax, eax
add ecx, eax
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e3fbb
add ecx, edi
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
mov edi, dword [ebp - 0x25c]
and ecx, 0x1f
push 1
push ecx
push edx
mov ecx, edi
call fcn.005e4bb0
mov edx, dword [edi]
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x284], edx
mov edi, eax
test ecx, ecx
jns 0x5e3fff
mov eax, ecx
neg eax
cmp edi, eax
jae 0x5e3fff
xor eax, eax
add ecx, eax
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e4009
add ecx, edi
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
lea eax, [ebp - 0x276]
and ecx, 0x1f
push eax
push 1
push ecx
push edx
lea eax, [ebp - 0x284]
push eax
call fcn.005de460
mov eax, dword [ebp - 0x274]
add esp, 0x14
mov edx, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x284], edx
mov edi, eax
test ecx, ecx
jns 0x5e405d
mov eax, ecx
neg eax
cmp edi, eax
jae 0x5e405d
xor eax, eax
add ecx, eax
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e4067
add ecx, edi
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
mov edi, dword [ebp - 0x274]
and ecx, 0x1f
push 1
push ecx
push edx
mov ecx, edi
call fcn.005e4bb0
mov edx, dword [edi]
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x284], edx
mov edi, eax
test ecx, ecx
jns 0x5e40ab
mov eax, ecx
neg eax
cmp edi, eax
jae 0x5e40ab
xor eax, eax
add ecx, eax
mov eax, ecx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x5e40b5
add ecx, edi
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
lea eax, [ebp - 0x275]
and ecx, 0x1f
push eax
push 1
push ecx
push edx
lea eax, [ebp - 0x284]
push eax
call fcn.005de460
mov ecx, dword [ebp - 0x260]
add esp, 0x14
sub dword [ebp - 0x294], 1
jne 0x5e3e20
mov edi, dword [ebp - 0x258]
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x10]
cmp eax, 0xb
ja 0x5e416a
mov ecx, dword [edx + 0x14]
cmp ecx, 0xb
ja 0x5e416a
imul eax, eax, 0xb
add eax, ecx
mov dword [ebp - 0x290], eax
cmp eax, 0x8f
ja 0x5e416a
mov ecx, dword [ebp - 0x268]
add ecx, 0x1690
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e4142
mov dword [eax], edx
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x244], edx
jmp 0x5e4172
lea edx, [ebp - 0x26c]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x254]
mov dword [ecx + eax*4 + 0x244], edx
jmp 0x5e4172
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
sub dword [ebp - 0x248], 1
jne 0x5e3d78
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x274], eax
test eax, eax
jle 0x5e43e6
push 0x38
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x5e41bf
mov ecx, eax
call fcn.005f5f40
mov edi, eax
mov dword [ebp - 0x25c], eax
jmp 0x5e41c7
xor edi, edi
mov dword [ebp - 0x25c], edi
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x298], edi
mov eax, dword [esi + ecx]
mov dword [edi + 8], eax
mov eax, dword [esi + ecx + 4]
mov dword [edi + 0xc], eax
mov eax, dword [esi + ecx + 8]
add esi, 0xc
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e4358
lea eax, [edi + 0x10]
mov dword [ebp - 0x290], eax
lea eax, [edi + 0x28]
add edi, 0x1c
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x28c], edi
lea edi, [esi + ecx]
movq xmm0, qword [edi]
lea esi, [edi + 0x18]
mov ecx, dword [edi + 8]
movq qword [ebp - 0x2bc], xmm0
movq qword [ebp - 0x2d4], xmm0
movq xmm0, qword [edi + 0xc]
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [edi + 0x14]
push 0x100
movq qword [ebp - 0x2b4], xmm0
movq qword [ebp - 0x2e4], xmm0
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x26c], esi
call fcn.006dff04
mov edx, eax
mov ecx, 0x40
mov eax, dword [ebp - 0x290]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x250]
add esp, 4
mov edi, dword [ebp - 0x26c]
add esi, 0x118
mov ecx, dword [eax + 4]
add edi, 0x100
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x250], esi
cmp ecx, dword [eax + 8]
je 0x5e42d5
movq xmm0, qword [ebp - 0x2bc]
mov edx, dword [ebp - 0x280]
movq qword [ecx], xmm0
mov dword [ecx + 8], edx
add dword [eax + 4], 0xc
jmp 0x5e42e4
lea edx, [ebp - 0x2d4]
push edx
push ecx
mov ecx, eax
call fcn.005ddde0
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x260]
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x5e4300
mov dword [ecx], edx
add dword [eax + 4], 4
jmp 0x5e430f
lea edx, [ebp - 0x260]
push edx
push ecx
mov ecx, eax
call fcn.00462fd0
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e4338
movq xmm0, qword [ebp - 0x2b4]
mov edx, dword [ebp - 0x29c]
movq qword [eax], xmm0
mov dword [eax + 8], edx
add dword [ecx + 4], 0xc
jmp 0x5e4345
lea edx, [ebp - 0x2e4]
push edx
push eax
call fcn.005ddde0
sub dword [ebp - 0x24c], 1
jne 0x5e4220
mov edi, dword [ebp - 0x25c]
mov eax, dword [edi + 8]
cmp eax, 0xb
ja 0x5e43cb
mov ecx, dword [edi + 0xc]
cmp ecx, 0xb
ja 0x5e43cb
imul eax, eax, 0xb
add eax, ecx
mov dword [ebp - 0x26c], eax
cmp eax, 0x8f
ja 0x5e43cb
mov ecx, dword [ebp - 0x268]
add ecx, 0x16d8
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e43a9
mov dword [eax], edi
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x1204], edi
jmp 0x5e43d3
lea edx, [ebp - 0x298]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x1204], edi
jmp 0x5e43d3
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
sub dword [ebp - 0x274], 1
jne 0x5e4193
mov edi, dword [ebp - 0x258]
mov eax, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x25c], eax
test eax, eax
jle 0x5e4669
nop word [eax + eax]
push 0x18
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 4], 0xa
test eax, eax
je 0x5e442c
mov ecx, eax
call fcn.005f66a0
mov edi, eax
mov dword [ebp - 0x248], eax
jmp 0x5e4434
xor edi, edi
mov dword [ebp - 0x248], edi
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x290], edi
mov eax, dword [esi + ecx]
mov dword [edi + 4], eax
mov eax, dword [esi + ecx + 4]
mov dword [edi + 8], eax
mov eax, dword [esi + ecx + 8]
add esi, 0xc
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x250], esi
test eax, eax
jle 0x5e45db
lea edi, [esi + ecx]
push 0x198
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x26c], eax
test eax, eax
je 0x5e44a7
push 0x198
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [ebp - 0x260]
add esp, 0xc
jmp 0x5e44af
xor edx, edx
mov dword [ebp - 0x260], edx
mov eax, dword [edi]
mov ecx, 0x32
mov dword [edx + 0x34], eax
movq xmm0, qword [edi + 4]
movq qword [edx + 0x38], xmm0
mov eax, dword [edi + 0xc]
mov dword [edx + 0x40], eax
movups xmm0, xmmword [edi + 0x10]
movups xmmword [edx + 0x164], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [edx + 0x174], xmm0
movups xmm0, xmmword [edi + 0x30]
movups xmmword [edx + 0x184], xmm0
mov ax, word [edi + 0x40]
add edi, 0x42
mov word [edx + 0x194], ax
mov dword [ebp - 0x254], edi
lea edi, [edx + 0x4c]
mov esi, dword [ebp - 0x254]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x254]
add edi, 0xc8
mov esi, dword [ebp - 0x250]
add esi, 0x162
mov dword [ebp - 0x250], esi
movups xmm0, xmmword [edi]
movups xmmword [edx + 0x114], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [edx + 0x124], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [edx + 0x134], xmm0
movups xmm0, xmmword [edi + 0x30]
movups xmmword [edx + 0x144], xmm0
movups xmm0, xmmword [edi + 0x40]
movups xmmword [edx + 0x154], xmm0
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x54]
add edi, 0x58
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0x248]
mov dword [edx + 0x48], ecx
mov dword [ebp - 0x254], edi
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x26c], ecx
cmp ecx, dword [eax + 0x14]
je 0x5e45aa
mov edi, dword [ebp - 0x26c]
mov ecx, 0x66
mov esi, edx
rep movsd dword es:[edi], dword [esi]
add dword [eax + 0x10], 0x198
mov esi, dword [ebp - 0x250]
mov edi, dword [ebp - 0x254]
jmp 0x5e45ba
push edx
push ecx
lea ecx, [eax + 0xc]
call fcn.005de110
mov edx, dword [ebp - 0x260]
push 0x198
push edx
call fcn.006df8f3
add esp, 8
sub dword [ebp - 0x24c], 1
jne 0x5e4472
mov edi, dword [ebp - 0x248]
mov eax, dword [edi + 4]
cmp eax, 0xb
ja 0x5e464e
mov ecx, dword [edi + 8]
cmp ecx, 0xb
ja 0x5e464e
imul eax, eax, 0xb
add eax, ecx
mov dword [ebp - 0x26c], eax
cmp eax, 0x8f
ja 0x5e464e
mov ecx, dword [ebp - 0x268]
add ecx, 0x1ec0
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e462c
mov dword [eax], edi
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x1800], edi
jmp 0x5e4656
lea edx, [ebp - 0x290]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x1800], edi
jmp 0x5e4656
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
sub dword [ebp - 0x25c], 1
jne 0x5e4400
mov edi, dword [ebp - 0x258]
push dword [ebp - 0x2a4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
add esp, 4
test eax, eax
jne 0x5e4846
mov edi, dword [esi + edi]
add esi, 4
mov dword [ebp - 0x25c], edi
lea eax, [edi - 1]
cmp eax, 0x62
ja 0x5e4846
test edi, edi
jle 0x5e4846
push 0x14
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x5e46cc
mov ecx, eax
call fcn.005f6860
mov edi, eax
mov dword [ebp - 0x260], eax
jmp 0x5e46d4
xor edi, edi
mov dword [ebp - 0x260], edi
mov edx, dword [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x26c], edi
mov eax, dword [esi + edx]
mov dword [edi], eax
mov eax, dword [esi + edx + 4]
mov dword [edi + 4], eax
mov ecx, dword [esi + edx + 8]
add esi, 0xc
mov dword [ebp - 0x24c], ecx
test ecx, ecx
jle 0x5e47b5
lea eax, [esi + edx]
mov dword [ebp - 0x2a4], eax
imul eax, ecx, 0x130
add esi, eax
mov dword [ebp - 0x250], esi
nop
lea ecx, [ebp - 0x244]
call fcn.005f6770
mov eax, dword [ebp - 0x2a4]
lea edi, [ebp - 0x244]
mov esi, eax
mov dword [ebp - 4], 0xc
mov ecx, 0x4c
add eax, 0x130
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x260]
mov edx, dword [edi + 0xc]
cmp edx, dword [edi + 0x10]
mov dword [ebp - 0x2a4], eax
lea eax, [edi + 8]
je 0x5e4781
mov ecx, 0x4c
lea esi, [ebp - 0x244]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
add dword [eax + 4], 0x130
mov edi, dword [ebp - 0x260]
jmp 0x5e4790
lea ecx, [ebp - 0x244]
push ecx
push edx
mov ecx, eax
call fcn.005ddef0
lea ecx, [ebp - 0x244]
mov dword [ebp - 4], 0xffffffff
call fcn.00480f00
sub dword [ebp - 0x24c], 1
jne 0x5e4720
mov esi, dword [ebp - 0x250]
mov eax, dword [edi]
cmp eax, 0xb
ja 0x5e4827
mov ecx, dword [edi + 4]
cmp ecx, 0xb
ja 0x5e4827
imul eax, eax, 0xb
add eax, ecx
mov dword [ebp - 0x290], eax
cmp eax, 0x8f
ja 0x5e4827
mov ecx, dword [ebp - 0x268]
add ecx, 0x16e4
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5e4805
mov dword [eax], edi
add dword [ecx + 4], 4
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x1444], edi
jmp 0x5e4839
lea edx, [ebp - 0x26c]
push edx
push eax
call fcn.00462fd0
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + eax*4 + 0x1444], edi
jmp 0x5e4839
mov ecx, edi
call fcn.005f6a60
push 0x14
push edi
call fcn.006df8f3
add esp, 8
sub dword [ebp - 0x25c], 1
jne 0x5e46a0
mov ecx, dword [ebp - 0x258]
push ecx
call fcn.006dfeff
add esp, 4
call fcn.005bcdb0
mov ecx, eax
call fcn.005bc160
call fcn.005bcdb0
mov ecx, dword [eax + 4]
call fcn.005f48f0
call fcn.005bdab0
mov ecx, eax
call fcn.005bce20
call fcn.005bdab0
lea ecx, [eax + 0xc]
call fcn.005f5640
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok]
push 0x711440
push dword [ebp - 0x2c0]
call esi
push 0x711444
push 0
call esi
mov esi, eax
add esp, 0x10
mov edx, str.one3
mov ecx, esi
nop
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5e48d0
test al, al
je 0x5e48cc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5e48d0
add ecx, 2
add edx, 2
test al, al
jne 0x5e48b0
xor eax, eax
jmp 0x5e48d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
mov ecx, str.one10
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e4904
test dl, dl
je 0x5e4900
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e4904
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e48e4
xor eax, eax
jmp 0x5e4909
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
mov ecx, str.one11
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e4938
test dl, dl
je 0x5e4934
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e4938
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e4918
xor eax, eax
jmp 0x5e493d
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
mov ecx, str.one13
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e4970
test dl, dl
je 0x5e496c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e4970
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e4950
xor eax, eax
jmp 0x5e4975
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
mov ecx, str.one15
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e49a4
test dl, dl
je 0x5e49a0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e49a4
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e4984
xor eax, eax
jmp 0x5e49a9
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
mov ecx, str.one100
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e49d8
test dl, dl
je 0x5e49d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e49d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e49b8
xor eax, eax
jmp 0x5e49dd
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
mov ecx, str.one14
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e4a10
test dl, dl
je 0x5e4a0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e4a10
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e49f0
xor eax, eax
jmp 0x5e4a15
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
mov ecx, str.one16
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e4a44
test dl, dl
je 0x5e4a40
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e4a44
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e4a24
xor eax, eax
jmp 0x5e4a49
sbb eax, eax
or eax, 1
test eax, eax
je 0x5e4aa9
push esi
push 0x7476a0
lea eax, [ebp - 0x114]
push str._sZ_s.amb
push eax
call fcn.0044f6e0
add esp, 0x10
call fcn.005bcdb0
lea ecx, [ebp - 0x114]
push ecx
mov ecx, dword [eax + 4]
call fcn.005f4de0
push esi
push str.c:MP_ProjectSOUNDBgm_
lea eax, [ebp - 0x114]
push str._sZ_s.bgm
push eax
call fcn.0044f6e0
add esp, 0x10
call fcn.005bdab0
lea ecx, [ebp - 0x114]
push ecx
lea ecx, [eax + 0xc]
call fcn.005f58b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006dfb52
mov esp, ebp
pop ebp
ret 4