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

Disassembly:
push 0x62c
mov eax, 0x507300
call fcn.004d998f
xor ebx, ebx
mov dword [ebp - 0x618], ebx
push 0xf
pop esi
cmp byte [0x550148], bl
je 0x40fa29
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.00402366
lea eax, [ebp - 0x2b0]
mov dword [ebp - 4], ebx
push eax
mov edi, 0x5501ac
mov dword [ebp - 0x618], 1
call fcn.00407f3c
mov byte [ebp - 0x611], bl
cmp dword [eax + 0x10], ebx
jne 0x40fa30
mov byte [ebp - 0x611], 1
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x618], 1
je 0x40fa4b
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.0040241d
cmp byte [ebp - 0x611], bl
jne 0x4112a7
lea ecx, [ebp - 0x624]
call fcn.0042b7a6
mov dword [ebp - 4], 1
push dword [eax]
lea ecx, [ebp - 0x46c]
call fcn.0040edaa
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x624]
add eax, 0xfffffff0
call fcn.00403e7d
lea ecx, [ebp - 0x61c]
call fcn.0042b844
mov edi, eax
mov byte [ebp - 4], 4
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x40faaa
push dword [eax - 0xc]
push edi
call fcn.00403b8c
push dword [edi]
lea ecx, [ebp - 0x38c]
call fcn.0040edaa
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 5
call fcn.00428265
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x38c]
call fcn.00403da4
mov eax, dword [ebp - 0x61c]
add eax, 0xfffffff0
call fcn.00403e7d
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 0x40fb5e
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x40fb1f
lea eax, [ebp - 0x370]
movsx eax, byte [eax + edi]
push eax
call fcn.004d6cc0
pop ecx
test eax, eax
je 0x40fb55
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x40fb43
lea eax, [ebp - 0x370]
movzx eax, byte [eax + edi]
push eax
push 1
lea ecx, [ebp - 0x3c4]
call fcn.00408d56
inc edi
cmp edi, dword [ebp - 0x360]
jb 0x40fb0a
lea eax, [ebp - 0x450]
push eax
mov edi, 0x5500f0
call fcn.004112ad
lea eax, [ebp - 0x488]
push eax
mov edi, 0x550100
mov byte [ebp - 4], 0xa
call fcn.004112ad
push ebx
mov byte [ebp - 4], 0xb
call fcn.004d7ddd
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 0x52c8f6
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x344], ebx
mov byte [ebp - 0x354], bl
call fcn.00402366
mov byte [ebp - 4], 0xc
cmp byte [0x5501d8], bl
jne 0x40fdb1
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.00402366
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0xd
call fcn.00407f3c
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x354]
call fcn.004020fc
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x2b0]
push eax
mov byte [ebp - 4], 0xe
call fcn.00407f3c
cmp dword [eax + 0x14], 0x10
jb 0x40fc71
mov eax, dword [eax]
push eax
call fcn.004d7c96
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x62c], eax
mov byte [ebp - 4], 0xc
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0xf
call fcn.00407f3c
cmp dword [eax + 0x14], 0x10
jb 0x40fcd1
mov eax, dword [eax]
push eax
call fcn.004d7c96
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x630], eax
mov byte [ebp - 4], 0xc
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0x10
call fcn.00407f3c
cmp dword [eax + 0x14], 0x10
jb 0x40fd31
mov eax, dword [eax]
push eax
call fcn.004d7c96
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0xc
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0x11
call fcn.00407f3c
cmp dword [eax + 0x14], 0x10
jb 0x40fd91
mov eax, dword [eax]
push eax
call fcn.004d7c96
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x628], eax
call fcn.0040241d
jmp 0x40ff30
cmp edi, dword [0x5501e0]
je 0x4111e6
push 0x3f
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call fcn.004d8c50
add esp, 0xc
push dword [edi + 0xc]
lea eax, [ebp - 0x70]
push 0x535840
push eax
call fcn.004d59f0
lea eax, [ebp - 0x70]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x40fde9
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x354]
call fcn.00402366
lea eax, [ebp - 0x70]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x40fe08
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x3c4]
call fcn.00402366
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.00402366
mov byte [ebp - 4], 0x12
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040f17d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.0040241d
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.00402366
mov byte [ebp - 4], 0x13
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040f17d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.0040241d
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.00402366
lea edx, [edi + 0x48]
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x14
call fcn.0040f11c
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.0040241d
lea eax, [ebp - 0x624]
call fcn.00411612
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.00402366
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.0040241d
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.00402366
push 0xcc
lea esi, [ebp - 0x294]
mov byte [ebp - 4], 0x19
call fcn.00428f6b
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x1b
call fcn.00428265
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
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.0040241d
mov eax, dword [0x5501b0]
mov ecx, dword [eax]
mov dword [ebp - 0x618], ecx
cmp eax, ecx
je 0x410132
lea eax, [ecx + 0x28]
add ecx, 0xc
lea ebx, [ebp - 0x338]
call fcn.00401a1d
lea eax, [ebp - 0x618]
call fcn.0041366d
mov ecx, dword [ebp - 0x618]
cmp dword [0x5501b0], ecx
jne 0x410108
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.00402366
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x1e
call fcn.00428d64
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040241d
call fcn.00428687
test al, al
mov eax, 0x5358a4
jne 0x4101b5
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.004023da
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.00402366
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 0x22
call fcn.004286c4
pop ecx
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.00428265
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.00403da4
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
mov byte [ebp - 4], 0x25
push dword [0x550140]
lea esi, [ebp - 0x2cc]
call fcn.00428f6b
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push dword [ebp - 0x638]
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x27
call fcn.00428f6b
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push dword [ebp - 0x630]
lea esi, [ebp - 0x2cc]
push dword [ebp - 0x62c]
mov byte [ebp - 4], 0x29
call fcn.0040f68c
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push dword [ebp - 0x628]
mov byte [ebp - 4], 0x2b
push dword [ebp - 0x61c]
lea eax, [ebp - 0x2cc]
push eax
call fcn.0040f7ee
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
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.0040241d
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.00402366
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.0040241d
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.00402366
push ebx
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x2f
call fcn.0040f87d
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push 2
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x31
call fcn.0040f87d
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push 4
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x33
call fcn.0040f87d
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push 1
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x35
call fcn.0040f87d
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push 3
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x37
call fcn.0040f87d
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
mov eax, 0x535950
cmp byte [0x55014c], bl
jne 0x41076e
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.004023da
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.00402366
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
mov byte [ebp - 4], 0x3b
push dword [0x550150]
lea esi, [ebp - 0x2cc]
call fcn.00428f6b
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.004d59f0
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 0x4108a3
sub eax, edi
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.00402366
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.00402366
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
mov byte [ebp - 4], 0x3f
push dword [0x550158]
lea esi, [ebp - 0x2cc]
call fcn.00428f6b
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x55015c
mov byte [ebp - 4], 0x41
call fcn.00428265
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x550178
mov byte [ebp - 4], 0x43
call fcn.00428265
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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 0x410aac
call fcn.004fa8b0
jmp 0x410ab1
call fcn.004d7cc0
pop ecx
pop ecx
call fcn.004d9eb0
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.00402366
push esi
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x45
call fcn.00428f6b
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
mov byte [ebp - 4], 0x47
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push eax
lea esi, [ebp - 0x2cc]
call fcn.00428f6b
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.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
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.00428f6b
pop ecx
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0x4a
push ebx
call edi
push eax
lea esi, [ebp - 0x3fc]
call fcn.00428f6b
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x2b0]
mov dword [esp], 0x5359c0
push ecx
mov ecx, eax
call fcn.00401df9
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x4c
push ecx
mov ecx, dword [ebp - 0x61c]
call fcn.00411bab
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.0040241d
push ebx
push esi
lea ecx, [ebp - 0x2b0]
call fcn.0040241d
push ebx
push esi
lea ecx, [ebp - 0x3fc]
call fcn.0040241d
push ebx
push esi
lea ecx, [ebp - 0x2e8]
call fcn.0040241d
push ebx
push esi
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
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.00402366
push ebx
mov byte [ebp - 4], 0x4e
call fcn.004d7ddd
pop ecx
push eax
lea esi, [ebp - 0x2e8]
mov dword [ebp - 0x61c], edx
call fcn.00428f6b
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.0040241d
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
push str.remark1
lea ecx, [ebp - 0x294]
call fcn.004023fd
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550134
mov byte [ebp - 4], 0x50
call fcn.0040f5c1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x51
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040241d
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
push str.remark2
lea ecx, [ebp - 0x294]
call fcn.004023fd
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550128
mov byte [ebp - 4], 0x52
call fcn.0040f5c1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x53
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040241d
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.0040241d
push 0x52c8f7
lea ecx, [ebp - 0x2b0]
call fcn.004023fd
push str.remark3
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x54
call fcn.004023fd
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.0040241d
push 0
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.0040241d
push str.waetrackid
lea ecx, [ebp - 0x294]
call fcn.004023fd
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x5501ec
mov byte [ebp - 4], 0x56
call fcn.00428265
pop ecx
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x57
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040241d
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.0040241d
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.00411a98
pop ecx
pop ecx
push str.client_sign
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.004023fd
lea eax, [ebp - 0x294]
push eax
mov edi, 0x5501ac
mov byte [ebp - 4], 0x5a
call fcn.00407f3c
mov ecx, eax
lea esi, [ebp - 0x2e8]
call fcn.0042817f
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0x5b
call fcn.004116e5
push esi
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00403da4
push esi
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.0040241d
lea esi, [ebp - 0x560]
call fcn.0042c989
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.0040edaa
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.0042817f
mov byte [ebp - 4], 0x60
cmp dword [eax + 0x14], 8
jb 0x410f5b
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x418]
lea ebx, [ebp - 0x560]
call fcn.0042ca10
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00403da4
push ebx
push 1
lea ecx, [ebp - 0x3fc]
call fcn.0040241d
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x5d
call fcn.00403da4
xor eax, eax
push 0x206
mov word [ebp - 0x278], ax
lea eax, [ebp - 0x276]
push ebx
push eax
call fcn.004d8c50
add esp, 0xc
lea eax, [ebp - 0x278]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, ebx
jle 0x410ff5
cmp word [ebp + eax*2 - 0x27a], 0x5c
je 0x410ff5
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.0040edaa
lea edi, [ebp - 0x4a4]
mov byte [ebp - 4], 0x61
call fcn.00428ee7
mov edi, eax
lea ecx, [ebp - 0x354]
lea esi, [ebp - 0x2b0]
mov byte [ebp - 4], 0x62
call fcn.0042817f
push eax
lea eax, [ebp - 0x294]
push str.WAE_
push eax
mov byte [ebp - 4], 0x63
call fcn.00411bf7
add esp, 0xc
lea ecx, [ebp - 0x2cc]
push 0x535a8c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x64
call fcn.00411a77
mov ecx, eax
mov eax, edi
lea edi, [ebp - 0x3fc]
mov byte [ebp - 4], 0x65
call fcn.00411c30
lea ecx, [ebp - 0x2e8]
push 0x535a80
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x66
call fcn.00411a77
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x67
call fcn.004116e5
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x2e8]
call fcn.00403da4
push ebx
push edi
lea ecx, [ebp - 0x3fc]
call fcn.00403da4
push ebx
push edi
lea ecx, [ebp - 0x2cc]
call fcn.00403da4
push ebx
push edi
lea ecx, [ebp - 0x294]
call fcn.00403da4
push ebx
push edi
mov ecx, esi
call fcn.00403da4
push ebx
push edi
lea ecx, [ebp - 0x4a4]
call fcn.00403da4
cmp dword [ebp - 0x3cc], 8
mov eax, dword [ebp - 0x3e0]
jae 0x4110ff
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 0x411153
cmp dword [ebp - 0x394], 0x10
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x61c], ebx
jae 0x411136
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 0x4111f6
call fcn.00403da4
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.0040241d
lea esi, [ebp - 0x560]
call fcn.0042c9d6
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.00403da4
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.0040241d
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.0040241d
push ebx
push edi
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0xb
call fcn.0040241d
mov edi, dword [ebp - 0x624]
push 0xf
xor ebx, ebx
pop esi
jmp 0x40fba8
push ebx
push 1
lea ecx, [ebp - 0x354]
call fcn.0040241d
jmp 0x411263
call fcn.00403da4
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.0040241d
lea esi, [ebp - 0x560]
call fcn.0042c9d6
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.00403da4
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.0040241d
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.0040241d
push ebx
push edi
lea ecx, [ebp - 0x354]
call fcn.0040241d
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x488]
call fcn.0040241d
push ebx
push esi
lea ecx, [ebp - 0x450]
call fcn.0040241d
push ebx
push esi
lea ecx, [ebp - 0x3c4]
call fcn.0040241d
push ebx
push esi
lea ecx, [ebp - 0x370]
call fcn.0040241d
push ebx
push esi
lea ecx, [ebp - 0x46c]
call fcn.00403da4
call fcn.004d9a12
ret