Function at 0x40f9ab
Capabilities:
Contain obfuscated stackstrings
Get common file path
Parse pe header
Write file on windows

Disassembly:
push 0x62c
mov eax, 0x507397
call fcn.004d9a2f
xor ebx, ebx
mov dword [ebp - 0x618], ebx
push 0xf
pop esi
cmp byte [0x550148], bl
je 0x40fa1a
push 0xb
push 0x5357f4
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
mov dword [ebp - 4], ebx
push eax
mov edi, 0x5501ac
mov dword [ebp - 0x618], 1
call fcn.00407f8e
mov byte [ebp - 0x611], bl
cmp dword [eax + 0x10], ebx
jne 0x40fa21
mov byte [ebp - 0x611], 1
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x618], 1
je 0x40fa3c
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.0040248a
cmp byte [ebp - 0x611], bl
jne 0x411298
lea ecx, [ebp - 0x624]
call fcn.0042b6db
mov dword [ebp - 4], 1
push dword [eax]
lea ecx, [ebp - 0x46c]
call fcn.0040ed9b
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x624]
add eax, 0xfffffff0
call fcn.00403eb2
lea ecx, [ebp - 0x61c]
call fcn.0042b779
mov edi, eax
mov byte [ebp - 4], 4
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x40fa9b
push dword [eax - 0xc]
push edi
call fcn.00403bcb
push dword [edi]
lea ecx, [ebp - 0x38c]
call fcn.0040ed9b
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 5
call fcn.00428151
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x38c]
call fcn.00403de3
mov eax, dword [ebp - 0x61c]
add eax, 0xfffffff0
call fcn.00403eb2
mov dword [ebp - 0x3b0], esi
mov dword [ebp - 0x3b4], ebx
mov byte [ebp - 0x3c4], bl
mov byte [ebp - 4], 9
xor edi, edi
cmp dword [ebp - 0x360], ebx
jbe 0x40fb4f
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x40fb10
lea eax, [ebp - 0x370]
movsx eax, byte [eax + edi]
push eax
call fcn.004d6d50
pop ecx
test eax, eax
je 0x40fb46
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x40fb34
lea eax, [ebp - 0x370]
movzx eax, byte [eax + edi]
push eax
push 1
lea ecx, [ebp - 0x3c4]
call fcn.00408d8b
inc edi
cmp edi, dword [ebp - 0x360]
jb 0x40fafb
lea eax, [ebp - 0x450]
push eax
mov edi, 0x5500f0
call fcn.0041129e
lea eax, [ebp - 0x488]
push eax
mov edi, 0x550100
mov byte [ebp - 4], 0xa
call fcn.0041129e
push ebx
mov byte [ebp - 4], 0xb
call fcn.004d7e6d
mov dword [ebp - 0x638], eax
mov eax, dword [0x5501e0]
mov edi, dword [eax]
pop ecx
mov dword [ebp - 0x634], edx
mov dword [ebp - 0x624], edi
push ebx
push 0x52c8c6
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x344], ebx
mov byte [ebp - 0x354], bl
call fcn.004023d3
mov byte [ebp - 4], 0xc
cmp byte [0x5501d8], bl
jne 0x40fda2
push 0xa
push 0x535800
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0xd
call fcn.00407f8e
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x354]
call fcn.00402169
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.0040248a
push 0xa
push str.downstatus
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
push eax
mov byte [ebp - 4], 0xe
call fcn.00407f8e
cmp dword [eax + 0x14], 0x10
jb 0x40fc62
mov eax, dword [eax]
push eax
call fcn.004d7d26
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x62c], eax
mov byte [ebp - 4], 0xc
call fcn.0040248a
push 8
push str.downcode
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0xf
call fcn.00407f8e
cmp dword [eax + 0x14], 0x10
jb 0x40fcc2
mov eax, dword [eax]
push eax
call fcn.004d7d26
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x630], eax
mov byte [ebp - 4], 0xc
call fcn.0040248a
push 0xd
push str.installstatus
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0x10
call fcn.00407f8e
cmp dword [eax + 0x14], 0x10
jb 0x40fd22
mov eax, dword [eax]
push eax
call fcn.004d7d26
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0xc
call fcn.0040248a
push 0xb
push str.installcode
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0x11
call fcn.00407f8e
cmp dword [eax + 0x14], 0x10
jb 0x40fd82
mov eax, dword [eax]
push eax
call fcn.004d7d26
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x628], eax
call fcn.0040248a
jmp 0x40ff21
cmp edi, dword [0x5501e0]
je 0x4111d7
push 0x3f
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call fcn.004d8ce0
add esp, 0xc
push dword [edi + 0xc]
lea eax, [ebp - 0x70]
push 0x535840
push eax
call fcn.004d5a80
lea eax, [ebp - 0x70]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x40fdda
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x354]
call fcn.004023d3
lea eax, [ebp - 0x70]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x40fdf9
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x3c4]
call fcn.004023d3
mov ecx, dword [edi + 0x1c]
mov eax, ecx
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x630], ecx
mov ecx, dword [edi + 0x28]
mov eax, ecx
neg eax
sbb eax, eax
push 0xa
add eax, 3
mov dword [ebp - 0x628], ecx
push 0x535844
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
mov byte [ebp - 4], 0x12
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040f16e
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.0040248a
push 0xe
push str.startupproduct
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
mov byte [ebp - 4], 0x13
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040f16e
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.0040248a
push 0xc
push str.serverxmlmd5
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea edx, [edi + 0x48]
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x14
call fcn.0040f10d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.0040248a
lea eax, [ebp - 0x624]
call fcn.004115d8
mov dword [ebp - 0x378], esi
mov dword [ebp - 0x37c], ebx
mov byte [ebp - 0x38c], bl
mov dword [ebp - 0x420], esi
mov dword [ebp - 0x424], ebx
mov byte [ebp - 0x434], bl
lea eax, [ebp - 0x338]
push eax
mov byte [ebp - 4], 0x16
call fcn.004017ec
mov byte [ebp - 4], 0x17
push 0xa
push str.product_id
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x354]
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x18
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 6
push str.waever
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], 0xf
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
push 0xcc
lea esi, [ebp - 0x294]
mov byte [ebp - 4], 0x19
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1a
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xa
push str.waeversion
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], 0xf
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x1b
call fcn.00428151
pop ecx
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1c
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xa
push str.waenamepid
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], 0xf
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x3c4]
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1d
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
mov eax, dword [0x5501b0]
mov ecx, dword [eax]
mov dword [ebp - 0x618], ecx
cmp eax, ecx
je 0x410123
lea eax, [ecx + 0x28]
add ecx, 0xc
lea ebx, [ebp - 0x338]
call fcn.00401a1d
lea eax, [ebp - 0x618]
call fcn.004135f0
mov ecx, dword [ebp - 0x618]
cmp dword [0x5501b0], ecx
jne 0x4100f9
and dword [ebp - 0x2a0], 0
push 6
push str.winver
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
call fcn.004023d3
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x1e
call fcn.00428c50
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1f
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
call fcn.00428573
test al, al
mov eax, 0x5358a4
jne 0x4101a6
mov eax, 0x5358a8
push 0xf
pop esi
push eax
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.00402447
mov byte [ebp - 4], 0x20
push 7
push str.winbits
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023d3
lea eax, [ebp - 0x294]
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x21
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 5
push str.iever
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
lea eax, [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 0x22
call fcn.004285b0
pop ecx
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.00428151
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x24
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.00403de3
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 8
push str.waestart
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
mov byte [ebp - 4], 0x25
push dword [0x550140]
lea esi, [ebp - 0x2cc]
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x26
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 6
push str.waeend
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push dword [ebp - 0x638]
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x27
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x28
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 9
push str.downstate
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push dword [ebp - 0x630]
lea esi, [ebp - 0x2cc]
push dword [ebp - 0x62c]
mov byte [ebp - 4], 0x29
call fcn.0040f67d
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2a
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xc
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
push str.installstate
lea ecx, [ebp - 0x294]
call fcn.004023d3
push dword [ebp - 0x628]
mov byte [ebp - 4], 0x2b
push dword [ebp - 0x61c]
lea eax, [ebp - 0x2cc]
push eax
call fcn.0040f7df
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2c
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 9
push str.cdniplist
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
lea eax, [ebp - 0x450]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2d
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xa
push str.cdnurllist
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
lea eax, [ebp - 0x488]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2e
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 9
push str.bindtasks
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push ebx
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x2f
call fcn.0040f86e
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x30
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xc
push str.binddownfail
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push 2
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x31
call fcn.0040f86e
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x32
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xf
pop eax
push eax
push str.bindinstallfail
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push 4
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x33
call fcn.0040f86e
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x34
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xc
push str.binddowntime
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push 1
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x35
call fcn.0040f86e
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x36
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xf
pop eax
push eax
push str.bindinstalltime
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push 3
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x37
call fcn.0040f86e
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x38
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
mov eax, 0x535950
cmp byte [0x55014c], bl
jne 0x41075f
mov eax, 0x535954
push 0xf
pop esi
push eax
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.00402447
mov byte [ebp - 4], 0x39
push 5
push str.crash
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x3a
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 9
push str.crashcode
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
mov byte [ebp - 4], 0x3b
push dword [0x550150]
lea esi, [ebp - 0x2cc]
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x3c
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 7
pop ecx
push dword [0x550154]
xor eax, eax
mov byte [ebp - 0x30], bl
lea edi, [ebp - 0x2f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x30]
push str.0x_08X
push eax
call fcn.004d5a80
add esp, 0xc
push 0xf
pop esi
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
lea eax, [ebp - 0x30]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410894
sub eax, edi
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.004023d3
mov byte [ebp - 4], 0x3d
push 9
push str.crashattr
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x3e
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xb
push str.crashoffset
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
mov byte [ebp - 4], 0x3f
push dword [0x550158]
lea esi, [ebp - 0x2cc]
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x40
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xd
push str.crashfilename
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x55015c
mov byte [ebp - 4], 0x41
call fcn.00428151
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x42
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xc
push str.crashsection
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x550178
mov byte [ebp - 4], 0x43
call fcn.00428151
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x44
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
fild dword [ebp - 0x610]
push ecx
push ecx
fdiv qword [0x537ed0]
fldz
fcomp st(1)
fnstsw ax
fstp qword [esp]
test ah, 5
jp 0x410a9d
call fcn.004fa950
jmp 0x410aa2
call fcn.004d7d50
pop ecx
pop ecx
call fcn.004d9f50
push 8
mov esi, eax
push str.timezone
lea ecx, [ebp - 0x294]
neg esi
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push esi
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x45
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x46
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 7
push str.syslcid
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
mov byte [ebp - 4], 0x47
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push eax
lea esi, [ebp - 0x2cc]
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x48
call fcn.00401a1d
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0xa
push str.srceensize
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
mov byte [ebp - 4], 0x49
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
call edi
push eax
lea esi, [ebp - 0x2e8]
call fcn.00428e57
pop ecx
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0x4a
push ebx
call edi
push eax
lea esi, [ebp - 0x3fc]
call fcn.00428e57
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x2b0]
mov dword [esp], 0x5359c0
push ecx
mov ecx, eax
call fcn.00401e66
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x4c
push ecx
mov ecx, dword [ebp - 0x61c]
call fcn.00411b39
add esp, 0xc
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x4d
call fcn.00401a1d
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x2cc]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x2b0]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x3fc]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x2e8]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 8
push str.waeclose
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 0xf
mov dword [ebp - 0x284], ebx
mov byte [ebp - 0x294], bl
call fcn.004023d3
push ebx
mov byte [ebp - 4], 0x4e
call fcn.004d7e6d
pop ecx
push eax
lea esi, [ebp - 0x2e8]
mov dword [ebp - 0x61c], edx
call fcn.00428e57
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x4f
call fcn.00401a1d
push 0
push 1
mov ecx, esi
call fcn.0040248a
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push str.remark1
lea ecx, [ebp - 0x294]
call fcn.0040246a
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550134
mov byte [ebp - 4], 0x50
call fcn.0040f5b2
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x51
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040248a
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push str.remark2
lea ecx, [ebp - 0x294]
call fcn.0040246a
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550128
mov byte [ebp - 4], 0x52
call fcn.0040f5b2
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x53
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040248a
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push 0x52c8c7
lea ecx, [ebp - 0x2b0]
call fcn.0040246a
push str.remark3
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x54
call fcn.0040246a
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x55
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.0040248a
push 0
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040248a
push str.waetrackid
lea ecx, [ebp - 0x294]
call fcn.0040246a
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x5501ec
mov byte [ebp - 4], 0x56
call fcn.00428151
pop ecx
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x57
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040248a
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.0040248a
mov eax, 0x550194
push eax
mov dword [ebp - 0x61c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x418]
push str.rest_v2_downloader_track_client_sign
push eax
mov ebx, 0x5501bc
mov byte [ebp - 4], 0x58
call fcn.00411a26
pop ecx
pop ecx
push str.client_sign
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.0040246a
lea eax, [ebp - 0x294]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0x5a
call fcn.00407f8e
mov ecx, eax
lea esi, [ebp - 0x2e8]
call fcn.0042806b
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0x5b
call fcn.004116ab
push esi
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00403de3
push esi
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.0040248a
lea esi, [ebp - 0x560]
call fcn.0042c8be
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x5c
call fcn.004019a5
push str.application_json
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x5d
call fcn.0040ed9b
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x5e
call fcn.004019a5
mov ecx, eax
lea esi, [ebp - 0x2e8]
mov byte [ebp - 4], 0x5f
call fcn.0042806b
mov byte [ebp - 4], 0x60
cmp dword [eax + 0x14], 8
jb 0x410f4c
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x418]
lea ebx, [ebp - 0x560]
call fcn.0042c945
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00403de3
push ebx
push 1
lea ecx, [ebp - 0x3fc]
call fcn.0040248a
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x5d
call fcn.00403de3
xor eax, eax
push 0x206
mov word [ebp - 0x278], ax
lea eax, [ebp - 0x276]
push ebx
push eax
call fcn.004d8ce0
add esp, 0xc
lea eax, [ebp - 0x278]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, ebx
jle 0x410fe6
cmp word [ebp + eax*2 - 0x27a], 0x5c
je 0x410fe6
push 0x535a7c
lea eax, [ebp - 0x278]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0040ed9b
lea edi, [ebp - 0x4a4]
mov byte [ebp - 4], 0x61
call fcn.00428dd3
mov edi, eax
lea ecx, [ebp - 0x354]
lea esi, [ebp - 0x2b0]
mov byte [ebp - 4], 0x62
call fcn.0042806b
push eax
lea eax, [ebp - 0x294]
push str.WAE_
push eax
mov byte [ebp - 4], 0x63
call fcn.00411b85
add esp, 0xc
lea ecx, [ebp - 0x2cc]
push 0x535a8c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x64
call fcn.00411a05
mov ecx, eax
mov eax, edi
lea edi, [ebp - 0x3fc]
mov byte [ebp - 4], 0x65
call fcn.00411bbe
lea ecx, [ebp - 0x2e8]
push 0x535a80
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x66
call fcn.00411a05
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x67
call fcn.004116ab
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x2e8]
call fcn.00403de3
push ebx
push edi
lea ecx, [ebp - 0x3fc]
call fcn.00403de3
push ebx
push edi
lea ecx, [ebp - 0x2cc]
call fcn.00403de3
push ebx
push edi
lea ecx, [ebp - 0x294]
call fcn.00403de3
push ebx
push edi
mov ecx, esi
call fcn.00403de3
push ebx
push edi
lea ecx, [ebp - 0x4a4]
call fcn.00403de3
cmp dword [ebp - 0x3cc], 8
mov eax, dword [ebp - 0x3e0]
jae 0x4110f0
lea eax, [ebp - 0x3e0]
push ebx
push 0x80
push edi
push ebx
push ebx
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x411144
cmp dword [ebp - 0x394], 0x10
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x61c], ebx
jae 0x411127
lea eax, [ebp - 0x3a8]
push ebx
lea ecx, [ebp - 0x61c]
push ecx
push dword [ebp - 0x398]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
lea ecx, [ebp - 0x3e0]
push edi
cmp byte [0x5501d8], bl
je 0x4111e7
call fcn.00403de3
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.0040248a
lea esi, [ebp - 0x560]
call fcn.0042c90b
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.00403de3
push 0x550194
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x16
call fcn.0040187f
push ebx
push edi
lea ecx, [ebp - 0x434]
call fcn.0040248a
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.0040248a
push ebx
push edi
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0xb
call fcn.0040248a
mov edi, dword [ebp - 0x624]
push 0xf
xor ebx, ebx
pop esi
jmp 0x40fb99
push ebx
push 1
lea ecx, [ebp - 0x354]
call fcn.0040248a
jmp 0x411254
call fcn.00403de3
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.0040248a
lea esi, [ebp - 0x560]
call fcn.0042c90b
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.00403de3
push 0x550194
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x16
call fcn.0040187f
push ebx
push edi
lea ecx, [ebp - 0x434]
call fcn.0040248a
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.0040248a
push ebx
push edi
lea ecx, [ebp - 0x354]
call fcn.0040248a
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x488]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x450]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x3c4]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x370]
call fcn.0040248a
push ebx
push esi
lea ecx, [ebp - 0x46c]
call fcn.00403de3
call fcn.004d9ab2
ret