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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d314a
mov eax, dword fs:[0]
push eax
sub esp, 0x444
mov eax, dword [0x508068]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov dword [ebp - 0x434], esi
mov edi, ecx
mov dword [ebp - 0x438], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x43c], eax
cmp byte [eax], 1
je 0x405f65
test edi, edi
jne 0x40373b
cmp byte [0x5102e0], cl
je 0x403733
push ecx
push 0x4eb0c4
push 0x4eb110
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x43c]
mov byte [eax], 1
jmp 0x405f65
call fcn.00407200
cmp ax, 0x65
jne 0x403763
push 0xffff
push 0
push 1
mov ecx, edi
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
je 0x403746
mov eax, dword [edi]
mov eax, dword [eax + 4]
test byte [eax + edi + 0xc], 1
je 0x403d11
push 0
call fcn.004b59da
lea ecx, [esi + 0x3d0]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
add esp, 4
mov eax, dword [ecx]
mov dword [ebp - 0xac], ecx
cmp eax, dword [ecx + 4]
jne 0x4038bb
lea ecx, [ebp - 0x2dc]
call fcn.00405fe0
mov dword [ebp - 4], 0
mov ecx, 0x50f408
mov eax, dword [esi + 0x108]
mov dword [ebp - 0x2c4], eax
mov eax, dword [esi + 0x10c]
mov dword [ebp - 0x2c0], eax
lea edx, [ecx + 2]
mov dword [ebp - 0x2b8], 2
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4037d6
sub ecx, edx
sar ecx, 1
push ecx
push 0x50f408
lea ecx, [ebp - 0x210]
call fcn.00407d10
push dword [ebp - 0x2c0]
mov ecx, 0x50e3e8
push dword [ebp - 0x2c4]
call fcn.00473510
mov ecx, 0x50e3e8
add esp, 8
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403817
sub ecx, edx
sar ecx, 1
push ecx
push 0x50e3e8
lea ecx, [ebp - 0x270]
call fcn.00407d10
lea eax, [esi + 0xd8]
mov dword [ebp - 0x2b4], 0
push eax
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x2b0], 0
call fcn.00406910
lea eax, [ebp - 0x2dc]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x40c]
call fcn.004097c0
lea eax, [ebp - 0x424]
mov byte [ebp - 4], 2
push eax
lea ecx, [esi + 0x3d0]
call fcn.00406590
lea ecx, [ebp - 0x40c]
call fcn.004060f0
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 3
call fcn.00407cb0
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 4], 0xffffffff
call fcn.004060f0
lea ecx, [esi + 0x3d0]
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0
push eax
call fcn.00406500
lea eax, [ebp - 0xa4]
push eax
lea ecx, [esi + 0x3d0]
call fcn.00406580
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [eax]
je 0x4039c0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x30]
call fcn.004d2ad0
mov edx, dword [esi + 0x114]
mov ecx, dword [esi + 0x110]
movsd qword [ebp - 0x430], xmm0
call fcn.004d2ad0
movsd xmm1, qword [ebp - 0x430]
sub esp, 8
divsd xmm1, xmm0
movsd qword [ebp - 0x430], xmm1
fld qword [ebp - 0x430]
fstp qword [esp]
call fcn.004d15f0
fstp qword [ebp - 0x430]
movsd xmm0, qword [ebp - 0x430]
movsd qword [esp], xmm0
push str._0.f
push 0x40
push 0x50e3e8
call fcn.00401af0
mov ecx, 0x50e3e8
add esp, 0x14
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403970
sub ecx, edx
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0xa8]
push 0x50e3e8
lea ecx, [ecx + 0xcc]
call fcn.00407d10
add dword [ebp - 0xa8], 0x148
lea eax, [ebp - 0xa4]
push eax
lea ecx, [esi + 0x3d0]
call fcn.00406580
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [eax]
jne 0x4038f1
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0
push eax
mov ecx, 0x5101ec
call fcn.00406510
push 0x5101ec
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xb0]
push dword [0x5101ec]
call fcn.004082e0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0xb0]
je 0x403c17
mov edi, dword [ebp - 0xac]
nop word [eax + eax]
imul edx, dword [eax + 0x10], 0x148
mov eax, dword [eax + 0x14]
mov ecx, dword [edi]
mov dword [edx + ecx + 0x48], eax
mov esi, dword [ebp - 0xa8]
mov ecx, dword [edi]
imul edx, dword [esi + 0x10], 0x148
mov eax, dword [esi + 0x18]
mov dword [edx + ecx + 0x4c], eax
mov esi, dword [ebp - 0xa8]
mov ecx, dword [edi]
imul edx, dword [esi + 0x10], 0x148
mov eax, dword [esi + 0x1c]
mov dword [edx + ecx + 0x50], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x10]
add eax, 0x20
push eax
mov eax, dword [edi]
imul ecx, ecx, 0x148
add eax, 0x54
add ecx, eax
call fcn.004067e0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x10]
add eax, 0x38
push eax
mov eax, dword [edi]
imul ecx, ecx, 0x148
add eax, 0x6c
add ecx, eax
call fcn.004067e0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x403af6
push 0
push ecx
mov ecx, 0x50e3e8
call fcn.00474660
mov eax, dword [ebp - 0xa8]
mov ecx, 0x50e3e8
add esp, 8
mov eax, dword [eax + 0x10]
lea esi, [ecx + 2]
imul edx, eax, 0x148
add edx, dword [edi]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403ad0
sub ecx, esi
sar ecx, 1
push ecx
push 0x50e3e8
lea ecx, [edx + 0x114]
call fcn.00407d10
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x403b59
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x403b59
push ecx
push edx
push str._iX_i
push 0x40
push 0x50e3e8
call fcn.00401af0
mov eax, dword [ebp - 0xa8]
mov ecx, 0x50e3e8
add esp, 0x14
mov eax, dword [eax + 0x10]
lea esi, [ecx + 2]
imul edx, eax, 0x148
add edx, dword [edi]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403b33
sub ecx, esi
sar ecx, 1
push ecx
push 0x50e3e8
lea ecx, [edx + 0xfc]
call fcn.00407d10
mov eax, dword [ebp - 0xa8]
cmp dword [eax + 0x30], 0
je 0x403bd0
cmp dword [eax + 0x48], 0
je 0x403bd0
cmp dword [eax + 0x4c], 8
lea ecx, [eax + 0x38]
jb 0x403b70
mov ecx, dword [ecx]
add eax, 0x20
cmp dword [eax + 0x14], 8
jb 0x403b7b
mov eax, dword [eax]
push ecx
push eax
push str.A:__s_V:__s
push 0x40
push 0x50e3e8
call fcn.00401af0
mov eax, dword [ebp - 0xa8]
mov ecx, 0x50e3e8
add esp, 0x14
mov eax, dword [eax + 0x10]
lea esi, [ecx + 2]
imul edx, eax, 0x148
add edx, dword [edi]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403bb0
sub ecx, esi
sar ecx, 1
push ecx
push 0x50e3e8
lea ecx, [edx + 0x12c]
call fcn.00407d10
lea ecx, [ebp - 0xa8]
call fcn.00408280
push 0x5101ec
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xb0]
push dword [0x5101ec]
call fcn.004082e0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0xb0]
jne 0x403a20
mov esi, dword [ebp - 0x434]
cmp dword [0x5101f0], 0
je 0x403c59
mov ecx, 0x5101ec
call fcn.004064a0
push 0x5101ec
mov dword [ebp - 4], 5
lea ecx, [ebp - 0xa4]
push dword [0x5101ec]
call fcn.004082e0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov dword [0x5101e8], eax
mov eax, dword [0x5101d8]
xorps xmm0, xmm0
mov edi, dword [0x5101dc]
movlpd qword [ebp - 0xe0], xmm0
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
movlpd qword [ebp - 0xd8], xmm0
add ecx, dword [ebp - 0xd8]
movq qword [ebp - 0xd0], xmm0
adc edx, dword [ebp - 0xd4]
add eax, dword [0x5101d0]
adc edi, dword [0x5101d4]
mov dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0x438]
cmp eax, ecx
jne 0x403ce1
cmp dword [ebp - 0xa4], edx
jne 0x403ce1
cmp byte [0x5102e0], 0
je 0x405f5c
push 0
push 0x4eb164
push 0x4eb170
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x405f5c
lea edx, [esi + 0x386]
mov ecx, edi
call fcn.00403210
mov edx, dword [ebp - 0x434]
lea ecx, [esi + 0x386]
mov byte [edx + 0x39a], 0
add edx, 0x334
call fcn.00481f90
jmp 0x405f65
mov ecx, edi
call fcn.00407790
movzx eax, ax
add eax, 0xffffffd0
cmp eax, 0x3c
ja case.0x403d2e.58
movzx eax, byte [eax + 0x405f94]
jmp dword [eax*4 + 0x405f80]
mov ecx, dword [ebp - 0x43c]
cmp byte [ecx], 0
jne 0x405f65
push ecx
mov edx, esi
mov ecx, edi
call fcn.004036c0
add esp, 4
jmp 0x405f65
mov ecx, edi
call fcn.004070a0
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [ebp - 0xc8]
mov dword [0x50e3e4], eax
call fcn.004068a0
push str.announce
mov ecx, eax
call fcn.00409da0
mov byte [ebp - 0x425], al
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 6
call fcn.00407cb0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x425], 0
je 0x403edf
lea ecx, [ebp - 0x1ac]
call fcn.00406180
mov ecx, edi
mov dword [ebp - 4], 7
call fcn.004034b0
mov edx, eax
lea ecx, [edx + 2]
mov dword [ebp - 0xa4], ecx
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x403dd1
sub edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x1a0]
sar edx, 1
push edx
push eax
call fcn.00407d10
lea ecx, [ebp - 0x1ac]
call fcn.00402a80
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x360]
call fcn.00406910
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x348]
call fcn.00409930
lea eax, [ebp - 0x360]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [esi + 0x3dc]
call fcn.00409f80
lea ecx, [ebp - 0x348]
call fcn.004061d0
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0xa
call fcn.00407cb0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 7
push eax
mov ecx, 0x50c850
mov dword [0x50c7f8], 0xffffffff
call fcn.004067e0
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x234]
call fcn.00406910
push 0x50c7f8
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0xb
call fcn.004099d0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [esi + 0x3e8]
call fcn.00408b90
lea ecx, [ebp - 0x234]
call fcn.004062d0
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0xffffffff
call fcn.004061d0
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x110]
call fcn.004068a0
push str.announce_list
mov ecx, eax
call fcn.00409da0
mov byte [ebp - 0x425], al
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0xd
call fcn.00407cb0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x425], 0
je 0x404199
mov ecx, edi
call fcn.00407200
mov ecx, edi
cmp ax, 0x6c
jne 0x404153
push 0xffff
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
je 0x405e1a
nop word [eax + eax]
mov eax, dword [edi]
mov eax, dword [eax + 4]
test byte [eax + edi + 0xc], 1
jne 0x405e1a
mov ecx, edi
call fcn.00407200
cmp ax, 0x6c
jne 0x403f8d
push 0xffff
push 0
push 1
mov ecx, edi
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
je 0x404120
lea ecx, [ebp - 0x1ac]
call fcn.00406180
mov ecx, edi
mov dword [ebp - 4], 0xe
call fcn.004034b0
mov edx, eax
lea ecx, [edx + 2]
mov dword [ebp - 0xa4], ecx
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x403fc2
sub edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x1a0]
sar edx, 1
push edx
push eax
call fcn.00407d10
lea ecx, [ebp - 0x1ac]
call fcn.00402a80
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x230]
call fcn.00406910
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x218]
call fcn.00409930
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [esi + 0x3dc]
call fcn.00409f80
lea ecx, [ebp - 0x218]
call fcn.004061d0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x11
call fcn.00407cb0
lea ecx, [ebp - 0x34c]
call fcn.004029e0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x2f4]
call fcn.004067e0
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x34c], 0xffffffff
push eax
lea ecx, [ebp - 0x234]
call fcn.00406910
lea eax, [ebp - 0x34c]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x21c]
call fcn.004099d0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x448]
push eax
lea ecx, [esi + 0x3e8]
call fcn.00408b90
lea ecx, [ebp - 0x234]
call fcn.004062d0
cmp dword [esi + 0x3e0], 0x3e8
jbe 0x4040f0
cmp byte [0x5102e0], 0
je 0x4040f0
push 0
push 0x4eb1d4
push str.announceList.size_____1000
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 0x15
call fcn.00407cb0
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x16
call fcn.00407cb0
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0xffffffff
call fcn.004061d0
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x40413d
push 0xffff
push 0
push 1
mov ecx, edi
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x403f60
jmp 0x405e1a
call fcn.00407200
cmp ax, 0x30
jne 0x404173
push 0xffff
push 0
push 2
mov ecx, edi
call fcn.00407450
jmp 0x405e1a
cmp byte [0x5102e0], 0
je 0x405e1a
push 0
push 0x4eb1fc
push 0x4eb208
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
push str.comment
mov ecx, eax
call fcn.00409da0
mov byte [ebp - 0x425], al
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x17
call fcn.00407cb0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x425], 0
je 0x4043d6
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [ebp - 0xe0]
call fcn.004068a0
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0xe0]
call fcn.00406770
lea ecx, [ebp - 0xe0]
mov edi, dword [eax]
lea eax, [ebp - 0xb0]
push eax
call fcn.00406790
lea ecx, [ebp - 0xf8]
mov esi, dword [eax]
lea eax, [ebp - 0x425]
push eax
push dword [ebp - 0xa4]
call fcn.0040a540
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x19
call fcn.00407e70
push dword [ebp - 0xa4]
lea ecx, [ebp - 0xf8]
push edi
push esi
call fcn.00409f50
push 0
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0xf8]
cmp dword [ebp - 0xe4], 0x10
push 0
cmovae eax, dword [ebp - 0xf8]
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ecx, ecx
mov dword [ebp - 0xa4], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b5cd0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4042c9
cmp byte [0x5102e0], al
je 0x4042c9
push eax
push 0x4eb23c
push 0x4eb248
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edi, dword [ebp - 0x434]
push 0x4eb258
lea ecx, [edi + 0x90]
call fcn.00409da0
mov ecx, dword [ebp - 0xa4]
push ecx
push esi
push 0xffffffffffffffff
test al, al
je 0x404322
cmp dword [ebp - 0xe4], 0x10
lea eax, [ebp - 0xf8]
cmovae eax, dword [ebp - 0xf8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0xfde9
call eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404315
jmp 0x40438c
mov eax, dword [ebp - 0xe8]
inc eax
cmp ecx, eax
lea eax, [ebp - 0xf8]
jne 0x40435f
cmp dword [ebp - 0xe4], 0x10
cmovae eax, dword [ebp - 0xf8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
call eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404352
jmp 0x40438c
cmp dword [ebp - 0xe4], 0x10
cmovae eax, dword [ebp - 0xf8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0xfde9
call eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404381
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [edi + 0x60]
call fcn.00407d10
push esi
call fcn.004b5a1c
add esp, 4
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x1b
call fcn.00406cd0
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x1c
call fcn.00407cb0
mov edi, dword [ebp - 0x438]
mov dword [ebp - 4], 0xffffffff
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x110]
call fcn.004068a0
push str.created_by
mov ecx, eax
call fcn.00409da0
mov byte [ebp - 0x425], al
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0x1d
call fcn.00407cb0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x425], 0
je 0x404452
mov ecx, edi
call fcn.004034b0
mov edx, eax
lea ecx, [edx + 2]
mov dword [ebp - 0xa4], ecx
nop dword [eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x404430
sub edx, dword [ebp - 0xa4]
lea ecx, [esi + 0x78]
sar edx, 1
push edx
push eax
call fcn.00407d10
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
push str.creation_date
mov ecx, eax
call fcn.00409da0
mov byte [ebp - 0x425], al
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x1e
call fcn.00407cb0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x425], 0
je 0x4044c4
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
je 0x405e1a
push 0xa
push 0
push eax
call fcn.004b57ef
cdq
add esp, 0xc
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x110]
call fcn.004068a0
push str.encoding
mov ecx, eax
call fcn.00409da0
mov byte [ebp - 0x425], al
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0x1f
call fcn.00407cb0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x425], 0
je 0x404545
mov ecx, edi
call fcn.004034b0
mov edx, eax
lea ecx, [edx + 2]
mov dword [ebp - 0xa4], ecx
nop dword [eax + eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x404520
sub edx, dword [ebp - 0xa4]
lea ecx, [esi + 0x90]
sar edx, 1
push edx
push eax
call fcn.00407d10
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
push 0x4eb2ac
mov ecx, eax
call fcn.00409da0
mov byte [ebp - 0x425], al
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x20
call fcn.00407cb0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x425], 0
je 0x4045b1
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00406ed0
movups xmm0, xmmword [eax]
movups xmmword [0x510208], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [0x510218], xmm0
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x110]
call fcn.004068a0
push 0x4eb2b8
mov ecx, eax
call fcn.00409da0
lea ecx, [ebp - 0x110]
mov byte [ebp - 0x425], al
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x404658
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
jne 0x404619
push eax
push 0x4eb2c8
mov edx, str.length__nullptr
mov word [esi + 0x51c], ax
xor ecx, ecx
call fcn.0040d370
add esp, 8
jmp 0x405e1a
push 0xa
push 0
push eax
call fcn.004b581b
mov dword [esi + 0x10c], edx
lea ecx, [esi + 0x51c]
mov edx, eax
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x10c]
push eax
push edx
mov dword [esi + 0x4d8], edx
mov dword [esi + 0x4dc], eax
call fcn.00473510
add esp, 0x14
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
mov edx, str.name
mov dword [ebp - 4], 0x21
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x4048a6
push 0x3a
push 0
xorps xmm0, xmm0
lea eax, [ebp - 0x38]
push 0x14
push eax
mov ecx, edi
movq qword [ebp - 0x18], xmm0
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x28], xmm0
call fcn.004075c0
push dword [ebp - 0x38]
call fcn.004b5880
add esp, 4
test eax, eax
je 0x4046e3
push 0xa
lea eax, [ebp - 0x38]
push 0
push eax
call fcn.004b57ef
add esp, 0xc
jmp 0x4046e9
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ad685
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
test esi, esi
jne 0x40472a
push eax
push 0x4eb2fc
mov edx, 0x4eb308
xor ecx, ecx
call fcn.0040d370
add esp, 8
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov word [esi + eax*2], cx
mov ecx, edi
cdq
push edx
push eax
push esi
call fcn.00407330
push esi
lea ecx, [ebp - 0x128]
call fcn.004068a0
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x128]
call fcn.00406770
mov edi, eax
lea ecx, [ebp - 0x128]
lea eax, [ebp - 0xa8]
push eax
call fcn.00406790
lea ecx, [ebp - 0x425]
mov esi, eax
call fcn.00407910
push eax
push dword [edi]
lea ecx, [ebp - 0xe0]
push dword [esi]
call fcn.00408ad0
push 0
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x23
call fcn.00406b60
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ecx, ecx
mov dword [ebp - 0xa4], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b5cd0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4047f4
push eax
push 0x4eb318
mov edx, str.wBuf__malloc
xor ecx, ecx
call fcn.0040d370
add esp, 8
mov edi, dword [ebp - 0x434]
mov edx, str.UTF_8
lea ecx, [edi + 0x90]
call fcn.00408b80
test al, al
je 0x40487a
mov ecx, dword [ebp - 0xa4]
push ecx
push esi
push 0xffffffffffffffff
lea ecx, [ebp - 0xe0]
call fcn.00406b60
push eax
push 0
push 0xfde9
mov eax, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call eax
push esi
lea ecx, [edi + 0xd8]
call fcn.004067b0
push esi
call fcn.004b5a1c
push dword [ebp - 0xac]
call fcn.004ad1ad
add esp, 8
lea ecx, [ebp - 0xe0]
call fcn.00406cd0
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
mov edi, dword [ebp - 0x438]
jmp 0x405e1a
lea ecx, [ebp - 0xe0]
call fcn.00406750
mov ecx, dword [ebp - 0xa4]
inc eax
cmp ecx, eax
jne 0x404814
push ecx
push esi
push 0xffffffffffffffff
lea ecx, [ebp - 0xe0]
call fcn.00406b60
push eax
push 0
push 0
jmp 0x40482b
push dword [0x50e3e4]
lea ecx, [ebp - 0x110]
call fcn.004068a0
mov edx, str.piece_length
mov dword [ebp - 4], 0x24
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x110]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x40491a
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
je 0x405e1a
push eax
call fcn.004b5a21
cdq
add esp, 4
mov dword [esi + 0x110], eax
mov dword [esi + 0x114], edx
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
mov edx, str.pieces
mov dword [ebp - 4], 0x25
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x404a8b
push 0x3a
push 0
push 0x14
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004075c0
push 0xa
lea eax, [ebp - 0x60]
push 0
push eax
call fcn.004b57ef
mov ecx, eax
add esp, 0xc
mov eax, 0x66666667
imul ecx
xor ecx, ecx
sar edx, 3
mov eax, edx
mov word [ebp - 0x142], cx
shr eax, 0x1f
lea ecx, [esi + 0x3a0]
add eax, edx
push eax
mov dword [esi + 0x118], eax
call fcn.004066c0
mov eax, dword [esi + 0x118]
xor ecx, ecx
mov edx, 0x14
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b5cd0
add esp, 4
mov dword [esi + 0x39c], eax
test eax, eax
jne 0x4049f0
push eax
push 0x4eb36c
mov edx, str.t__p_all_sha1__malloc
xor ecx, ecx
call fcn.0040d370
add esp, 8
cmp dword [esi + 0x118], 0
mov dword [ebp - 0xac], 0
jbe 0x405dd7
mov dword [ebp - 0xb0], 0
push 0
push 0x14
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
call fcn.00407330
mov edx, dword [esi + 0x39c]
add edx, dword [ebp - 0xb0]
xor ecx, ecx
mov dword [ebp - 0xa4], edx
nop word [eax + eax]
mov al, byte [ebp + ecx*2 - 0x168]
mov byte [ecx + edx], al
inc ecx
cmp ecx, 0x14
jge 0x404a58
mov edx, dword [ebp - 0xa4]
jmp 0x404a40
lea eax, [ebp - 0xa4]
push eax
lea ecx, [esi + 0x3a0]
call fcn.004066f0
mov eax, dword [ebp - 0xac]
add dword [ebp - 0xb0], 0x14
inc eax
mov dword [ebp - 0xac], eax
cmp eax, dword [esi + 0x118]
jb 0x404a11
jmp 0x405dd7
push dword [0x50e3e4]
lea ecx, [ebp - 0x110]
call fcn.004068a0
mov edx, str.private
mov dword [ebp - 4], 0x26
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x110]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x404c19
mov ecx, edi
call fcn.00407200
cmp ax, 0x69
jne 0x405e1a
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
xor eax, eax
mov ecx, edi
push eax
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xb0]
push 1
push eax
call fcn.00407330
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0xc8]
call fcn.004068a0
mov edx, 0x4eb3a0
mov dword [ebp - 4], 0x27
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x404b94
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x404b7a
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405e1a
mov byte [esi + 0x14], 1
jmp 0x405de4
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0xc8]
call fcn.004068a0
mov edx, 0x4eb3a4
mov dword [ebp - 4], 0x28
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x405e1a
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x404bff
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405e1a
mov byte [esi + 0x14], 0
jmp 0x405de4
push dword [0x50e3e4]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
mov edx, 0x4eb3a8
mov dword [ebp - 4], 0x29
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x404c76
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [esi + 0xa8]
call fcn.004067b0
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x110]
call fcn.004068a0
mov edx, str.publisher_url
mov dword [ebp - 4], 0x2a
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x110]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x404cd3
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [esi + 0xc0]
call fcn.004067b0
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
mov edx, str.files
mov dword [ebp - 4], 0x2b
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x40567a
cmp byte [esi + 0xa], 0
jne 0x404d26
mov byte [esi + 0xa], 1
mov ecx, edi
call fcn.00407200
cmp ax, 0x6c
jne 0x404d47
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
mov ecx, edi
movlpd qword [ebp - 0x430], xmm0
call fcn.00407200
cmp ax, 0x65
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0xa8], eax
je 0x405558
mov ecx, edi
call fcn.00407200
cmp ax, 0x64
jne 0x404da6
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
push 0x4eb3e4
lea ecx, [ebp - 0xe0]
call fcn.004068a0
push 0x4eb3e8
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0x2c
call fcn.004068a0
lea ecx, [ebp - 0x2dc]
call fcn.00405fe0
mov ecx, edi
mov byte [ebp - 4], 0x2e
call fcn.004034b0
push eax
lea ecx, [ebp - 0x140]
call fcn.004068a0
mov edx, str.length
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x140]
call fcn.00408b80
test al, al
je 0x4054ba
mov ecx, edi
call fcn.00403600
test eax, eax
je 0x404e3b
push 0xa
push 0
push eax
call fcn.004b576b
add esp, 0xc
mov dword [ebp - 0x2c4], eax
add dword [ebp - 0xa8], eax
mov dword [ebp - 0x2c0], edx
adc dword [ebp - 0xb0], edx
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [ebp - 0xc8]
call fcn.004068a0
mov edx, 0x4eb444
mov byte [ebp - 4], 0x30
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x425], al
mov byte [ebp - 4], 0x2f
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x40511f
mov ecx, edi
call fcn.00407200
cmp ax, 0x6c
jne 0x404ea1
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
je 0x4050dd
push 0x3a
xor esi, esi
lea eax, [ebp - 0x88]
push esi
xorps xmm0, xmm0
mov ecx, edi
push 0x14
push eax
movups xmmword [ebp - 0x88], xmm0
movups xmmword [ebp - 0x78], xmm0
movq qword [ebp - 0x68], xmm0
call fcn.004075c0
push dword [ebp - 0x88]
call fcn.004b5880
add esp, 4
test eax, eax
je 0x404f00
push 0xa
lea eax, [ebp - 0x88]
push esi
push eax
call fcn.004b57ef
add esp, 0xc
mov esi, eax
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b5cd0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xac], ecx
test ecx, ecx
jne 0x404f41
push eax
push 0x4eb450
mov edx, 0x4eb45c
call fcn.0040d370
mov ecx, dword [ebp - 0xac]
add esp, 8
xor eax, eax
mov word [ecx + esi*2], ax
mov eax, esi
cdq
push edx
push eax
push ecx
mov ecx, edi
call fcn.00407330
push dword [ebp - 0xac]
lea ecx, [ebp - 0xc8]
call fcn.004068a0
lea eax, [ebp - 0x44c]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0xc8]
call fcn.00406770
mov edi, eax
lea ecx, [ebp - 0xc8]
lea eax, [ebp - 0x450]
push eax
call fcn.00406790
lea ecx, [ebp - 0x43d]
mov esi, eax
call fcn.00407910
push eax
push dword [edi]
lea ecx, [ebp - 0x110]
push dword [esi]
call fcn.00408ad0
push 0
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x32
call fcn.00406b60
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ecx, ecx
mov edi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b5cd0
mov esi, eax
add esp, 4
test esi, esi
je 0x405088
push edi
push esi
push 0xffffffffffffffff
lea ecx, [ebp - 0x110]
call fcn.00406b60
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, 0x4eb46c
lea ecx, [ebp - 0xe0]
call fcn.00408b80
test al, al
je 0x40503c
push esi
lea ecx, [ebp - 0xe0]
call fcn.004067b0
push esi
call fcn.004b5a1c
add esp, 4
jmp 0x40509e
push 0x4eb470
lea edx, [ebp - 0xe0]
lea ecx, [ebp - 0x28]
call fcn.00408bc0
push esi
mov edx, eax
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x50]
call fcn.00408c90
add esp, 8
lea ecx, [ebp - 0xe0]
push eax
call fcn.00406820
lea ecx, [ebp - 0x50]
call fcn.00406810
lea ecx, [ebp - 0x28]
call fcn.00406810
push esi
call fcn.004b5a1c
add esp, 4
jmp 0x40509e
push 0
push 0x4eb474
mov edx, 0x4eb480
xor ecx, ecx
call fcn.0040d370
add esp, 8
push dword [ebp - 0xac]
call fcn.004b5a1c
add esp, 4
lea ecx, [ebp - 0x110]
call fcn.00406cd0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x2f
call fcn.00406810
mov edi, dword [ebp - 0x438]
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x404eb2
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x4050fe
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x40511f
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x31
jne 0x405408
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [ebp - 0x140]
call fcn.004067b0
mov edx, str.path.utf_8
lea ecx, [ebp - 0x140]
call fcn.00408b80
test al, al
je 0x4053f2
mov ecx, edi
call fcn.00407200
cmp ax, 0x6c
jne 0x40517c
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
je 0x4053ae
nop dword [eax]
push 0x3a
xor esi, esi
lea eax, [ebp - 0x168]
push esi
xorps xmm0, xmm0
mov ecx, edi
push 0x14
push eax
movups xmmword [ebp - 0x168], xmm0
movups xmmword [ebp - 0x158], xmm0
movq qword [ebp - 0x148], xmm0
call fcn.004075c0
push dword [ebp - 0x168]
call fcn.004b5880
add esp, 4
test eax, eax
je 0x4051e4
push 0xa
lea eax, [ebp - 0x168]
push esi
push eax
call fcn.004b57ef
add esp, 0xc
mov esi, eax
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b5cd0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xac], ecx
test ecx, ecx
jne 0x405225
push eax
push 0x4eb4a8
mov edx, str.bufName__malloc
call fcn.0040d370
mov ecx, dword [ebp - 0xac]
add esp, 8
xor eax, eax
mov word [ecx + esi*2], ax
mov eax, esi
cdq
push edx
push eax
push ecx
mov ecx, edi
call fcn.00407330
push dword [ebp - 0xac]
lea ecx, [ebp - 0x110]
call fcn.004068a0
lea eax, [ebp - 0x444]
mov byte [ebp - 4], 0x34
push eax
lea ecx, [ebp - 0x110]
call fcn.00406770
mov edi, eax
lea ecx, [ebp - 0x110]
lea eax, [ebp - 0x42c]
push eax
call fcn.00406790
lea ecx, [ebp - 0x43e]
mov esi, eax
call fcn.00407910
push eax
push dword [edi]
lea ecx, [ebp - 0xc8]
push dword [esi]
call fcn.00408ad0
push 0
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x35
call fcn.00406b60
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ecx, ecx
mov edi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b5cd0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4052e9
push eax
push 0x4eb4c4
mov edx, str.pPath__malloc
xor ecx, ecx
call fcn.0040d370
add esp, 8
push edi
push esi
push 0xffffffffffffffff
lea ecx, [ebp - 0xc8]
call fcn.00406b60
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, 0x4eb4e0
lea ecx, [ebp - 0x128]
call fcn.00408b80
test al, al
je 0x405328
push esi
lea ecx, [ebp - 0x128]
call fcn.004067b0
jmp 0x405369
push 0x4eb4e4
lea edx, [ebp - 0x128]
lea ecx, [ebp - 0x50]
call fcn.00408bc0
push esi
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x28]
call fcn.00408c90
add esp, 8
lea ecx, [ebp - 0x128]
push eax
call fcn.00406820
lea ecx, [ebp - 0x28]
call fcn.00406810
lea ecx, [ebp - 0x50]
call fcn.00406810
push dword [ebp - 0xac]
call fcn.004b5a1c
push esi
call fcn.004b5a1c
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.00406cd0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x2f
call fcn.00406810
mov edi, dword [ebp - 0x438]
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405190
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x4053cf
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405408
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
jmp 0x405408
push 0
push str.10:path.utf_8...
mov edx, 0x4eb4fc
xor ecx, ecx
call fcn.0040d370
add esp, 8
push 0x50f408
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x2b8], 2
call fcn.004067b0
push dword [ebp - 0x2c0]
mov eax, dword [ebp - 0xa4]
mov ecx, 0x50e3e8
push dword [ebp - 0x2c4]
mov dword [ebp - 0x2b4], eax
call fcn.00473510
add esp, 8
lea ecx, [ebp - 0x270]
push 0x50e3e8
call fcn.004067b0
lea ecx, [ebp - 0x128]
call fcn.00406740
test al, al
lea ecx, [ebp - 0x424]
lea eax, [ebp - 0x2dc]
push eax
je 0x405485
lea eax, [ebp - 0xe0]
push eax
call fcn.00408b20
mov byte [ebp - 4], 0x37
jmp 0x405495
lea eax, [ebp - 0x128]
push eax
call fcn.00408b20
mov byte [ebp - 4], 0x38
mov esi, dword [ebp - 0x434]
push eax
lea ecx, [esi + 0x3d0]
call fcn.00406590
lea ecx, [ebp - 0x424]
call fcn.00406160
inc dword [ebp - 0xa4]
jmp 0x405514
mov edx, str.attr
lea ecx, [ebp - 0x140]
call fcn.00408b80
lea ecx, [ebp - 0x140]
test al, al
jne 0x40551a
mov edx, 0x4eb408
call fcn.00408b80
lea ecx, [ebp - 0x140]
test al, al
jne 0x40551a
mov edx, 0x4eb40c
call fcn.00408b80
lea ecx, [ebp - 0x140]
test al, al
jne 0x40551a
push 0
push str._length_Decode__
call fcn.00406760
mov edx, eax
xor ecx, ecx
call fcn.0040d390
add esp, 8
lea ecx, [ebp - 0x140]
call fcn.00406810
lea ecx, [ebp - 0x2dc]
call fcn.004060f0
lea ecx, [ebp - 0x128]
call fcn.00406810
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x404d85
push 0xc
lea ecx, [ebp - 0xec]
call fcn.004062f0
lea eax, [esi + 0x3d0]
push eax
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xa4], eax
call fcn.00406610
lea eax, [ebp - 0x42c]
mov dword [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0xec]
call fcn.00406580
mov esi, eax
lea ecx, [ebp - 0xec]
lea eax, [ebp - 0x444]
push eax
call fcn.00406500
push dword [esi]
mov ecx, 0x471f70
push dword [eax]
call fcn.00408d00
add esp, 8
lea ecx, [ebp - 0xec]
call fcn.00406560
test eax, eax
je 0x405608
xor edi, edi
nop dword [eax]
push edi
lea ecx, [ebp - 0xec]
call fcn.00406550
mov ecx, dword [ebp - 0xa4]
push edi
lea esi, [eax + 0x40]
call fcn.00406550
inc edi
lea ecx, [eax + 0x44]
mov eax, dword [esi]
mov dword [ecx], eax
lea ecx, [ebp - 0xec]
call fcn.00406560
cmp edi, eax
jb 0x4055d0
mov edi, dword [ebp - 0x438]
mov eax, dword [ebp - 0x434]
mov edx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xa8]
push edx
lea ecx, [eax + 0x51c]
mov dword [eax + 0x108], esi
push esi
mov dword [eax + 0x10c], edx
mov dword [eax + 0x4d8], esi
mov dword [eax + 0x4dc], edx
call fcn.00473510
add esp, 8
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405663
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0xffffffff
call fcn.00406600
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x28]
call fcn.004068a0
mov edx, str.duration
mov dword [ebp - 4], 0x3a
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x405752
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
je 0x405e1a
lea ecx, [ebp - 0x17c]
call fcn.00406310
mov dword [ebp - 4], 0x3b
push dword [0x50e3e0]
call fcn.004b5a21
add esp, 4
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x17c]
mov dword [ebp - 0xa4], 0
lea ecx, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00408d30
push eax
lea eax, [ebp - 0x430]
mov byte [ebp - 4], 0x3c
push eax
mov ecx, 0x5101ec
call fcn.00408db0
lea ecx, [ebp - 0xa0]
call fcn.00406370
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xffffffff
call fcn.00406350
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x50]
call fcn.004068a0
mov edx, str.file_duration
mov dword [ebp - 4], 0x3d
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x405866
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
mov dword [ebp - 0xa4], 0
call fcn.00407200
cmp ax, 0x69
jne 0x405e1a
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
je 0x405850
lea ecx, [ebp - 0x17c]
call fcn.00406310
mov dword [ebp - 4], 0x3e
push dword [0x50e3e0]
call fcn.004b5a21
add esp, 4
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x17c]
lea ecx, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00408d30
push eax
lea eax, [ebp - 0x430]
mov byte [ebp - 4], 0x3f
push eax
mov ecx, 0x5101ec
call fcn.00408db0
lea ecx, [ebp - 0xa0]
call fcn.00406370
inc dword [ebp - 0xa4]
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xffffffff
call fcn.00406350
mov ecx, edi
call fcn.00407200
cmp ax, 0x69
je 0x4057c4
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x28]
call fcn.004068a0
mov edx, str.file_media
mov dword [ebp - 4], 0x40
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x40598b
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
mov dword [ebp - 0xac], 0
call fcn.00407200
cmp ax, 0x69
jne 0x40596e
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
je 0x40595d
push eax
call fcn.004b5a21
add esp, 4
cmp eax, 0xffffffff
jne 0x405957
push 4
lea ecx, [ebp - 0xa4]
call fcn.004029d0
lea eax, [ebp - 0xac]
mov ecx, 0x5101ec
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00406440
lea eax, [ebp - 0x42c]
mov ecx, 0x5101ec
push eax
call fcn.00406500
push eax
lea ecx, [ebp - 0xa4]
call fcn.00406390
test al, al
je 0x405957
push dword [ebp - 0xa4]
lea eax, [ebp - 0x444]
mov ecx, 0x5101ec
push eax
call fcn.00408de0
inc dword [ebp - 0xac]
mov ecx, edi
call fcn.00407200
cmp ax, 0x69
je 0x4058d8
lea eax, [ebp - 0x42c]
mov ecx, 0x5101ec
push eax
call fcn.00406510
mov eax, dword [eax]
mov dword [0x5101e8], eax
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x50]
call fcn.004068a0
mov edx, str.profiles
mov dword [ebp - 4], 0x41
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x4059d6
mov byte [0x50e468], 1
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x28]
call fcn.004068a0
mov edx, str.acodec
mov dword [ebp - 4], 0x42
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x405a99
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [ebp - 0xc8]
call fcn.004068a0
lea eax, [ebp - 0x42c]
mov dword [ebp - 4], 0x43
push eax
mov ecx, 0x5101ec
call fcn.00406500
push eax
mov ecx, 0x5101e8
call fcn.004063b0
test al, al
je 0x405a69
push 0
push 0x4eb578
mov edx, 0x4eb590
xor ecx, ecx
call fcn.0040d370
add esp, 8
lea eax, [ebp - 0xc8]
mov ecx, 0x5101e8
push eax
call fcn.00406430
lea ecx, [eax + 0x10]
call fcn.004067e0
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x50]
call fcn.004068a0
mov edx, str.height
mov dword [ebp - 4], 0x44
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x405b2d
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
je 0x405e1a
push eax
call fcn.004b5a21
add esp, 4
mov esi, eax
lea eax, [ebp - 0x42c]
mov ecx, 0x5101ec
push eax
call fcn.00406500
push eax
mov ecx, 0x5101e8
call fcn.004063b0
test al, al
jne 0x405e1a
mov ecx, 0x5101e8
call fcn.00406430
mov dword [eax + 8], esi
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x28]
call fcn.004068a0
mov edx, str.vcodec
mov dword [ebp - 4], 0x45
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x405bf0
mov ecx, edi
call fcn.004034b0
push eax
lea ecx, [ebp - 0xc8]
call fcn.004068a0
lea eax, [ebp - 0x42c]
mov dword [ebp - 4], 0x46
push eax
mov ecx, 0x5101ec
call fcn.00406500
push eax
mov ecx, 0x5101e8
call fcn.004063b0
test al, al
je 0x405bc0
push 0
push 0x4eb5d4
mov edx, str.it_riff_current__map_riff.end__
xor ecx, ecx
call fcn.0040d370
add esp, 8
lea eax, [ebp - 0xc8]
mov ecx, 0x5101e8
push eax
call fcn.00406430
lea ecx, [eax + 0x28]
call fcn.004067e0
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
jmp 0x405e1a
push dword [0x50e3e4]
lea ecx, [ebp - 0x50]
call fcn.004068a0
mov edx, str.width
mov dword [ebp - 4], 0x47
mov ecx, eax
call fcn.00408b80
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x425], al
mov dword [ebp - 4], 0xffffffff
call fcn.00406810
cmp byte [ebp - 0x425], 0
je 0x405e1a
mov ecx, edi
call fcn.00403600
mov dword [0x50e3e0], eax
test eax, eax
je 0x405e1a
push eax
call fcn.004b5a21
add esp, 4
mov esi, eax
lea eax, [ebp - 0x42c]
mov ecx, 0x5101ec
push eax
call fcn.00406500
push eax
mov ecx, 0x5101e8
call fcn.00406390
test al, al
je 0x405e1a
mov ecx, 0x5101e8
call fcn.00406430
cmp byte [0x50e468], 0
mov dword [eax + 0xc], esi
je 0x405da3
push 4
lea ecx, [ebp - 0xa8]
call fcn.004029d0
mov eax, dword [0x5101e8]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x42c]
push 0
push eax
call fcn.004063d0
lea eax, [ebp - 0xa4]
mov ecx, 0x5101ec
push eax
call fcn.00406500
push eax
lea ecx, [ebp - 0xa8]
call fcn.00406390
test al, al
je 0x405d9a
mov ecx, 0x5101e8
call fcn.00406430
lea ecx, [ebp - 0xa8]
lea esi, [eax + 8]
call fcn.00406430
lea ecx, [eax + 8]
mov eax, dword [esi]
mov dword [ecx], eax
mov ecx, 0x5101e8
call fcn.00406430
lea ecx, [ebp - 0xa8]
lea esi, [eax + 0xc]
call fcn.00406430
lea ecx, [eax + 0xc]
mov eax, dword [esi]
mov dword [ecx], eax
mov ecx, 0x5101e8
call fcn.00406430
add eax, 0x10
lea ecx, [ebp - 0xa8]
push eax
call fcn.00406430
lea ecx, [eax + 0x10]
call fcn.004067e0
mov ecx, 0x5101e8
call fcn.00406430
add eax, 0x28
lea ecx, [ebp - 0xa8]
push eax
call fcn.00406430
lea ecx, [eax + 0x28]
call fcn.004067e0
push 0
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004063d0
lea eax, [ebp - 0xa4]
mov ecx, 0x5101ec
push eax
call fcn.00406500
push eax
lea ecx, [ebp - 0xa8]
call fcn.00406390
test al, al
jne 0x405ce1
mov byte [0x50e468], 0
jmp 0x405db6
push 0
lea eax, [ebp - 0x42c]
mov ecx, 0x5101e8
push eax
call fcn.004063d0
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405dd7
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405e1a
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00406ed0
movups xmm0, xmmword [eax]
movups xmmword [0x5101d0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [0x5101e0], xmm0
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x118], 0
jbe 0x405e8d
push 0
push 0
lea ecx, [ebp - 0x28]
call fcn.00407970
push eax
mov ecx, 0x5101d0
call fcn.00407930
test al, al
je 0x405e87
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne 0x405e87
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
lea eax, [ebp - 0x78]
mov ecx, edi
push eax
call fcn.00406ed0
movups xmm0, xmmword [eax]
movups xmmword [0x5101d0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [0x5101e0], xmm0
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x43c]
cmp byte [ecx], 0
jne 0x405f65
push ecx
mov edx, eax
mov ecx, edi
call fcn.004036c0
add esp, 4
jmp 0x405f65
mov ecx, edi
call fcn.00407200
cmp ax, 0x6c
jne 0x405ecf
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x64
jne 0x405ef0
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
mov ecx, edi
call fcn.00407200
cmp ax, 0x65
jne case.0x403d2e.100
call fcn.00407920
movzx eax, ax
mov ecx, edi
push eax
push 0
push 1
call fcn.00407450
jmp case.0x403d2e.100
mov ecx, edi
call fcn.004070a0
mov ecx, edi
call fcn.00403600
jmp 0x405ef0
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.004027f0
xor ecx, ecx
push 0
test al, al
je 0x405f4a
push 0x4eb61c
mov edx, 0x4eb63c
jmp 0x405f54
push str.Decode__
mov edx, 0x4eb654
call fcn.0040d370
add esp, 8
mov ecx, dword [ebp - 0x43c]
mov byte [ecx], 1
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.004ad19c
mov esp, ebp
pop ebp
ret