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

Disassembly:
push 0x62c
mov eax, 0x507ddc
call fcn.004da051
xor ebx, ebx
mov dword [ebp - 0x618], ebx
push 0xf
pop esi
cmp byte [0x5503a8], bl
je 0x4102bf
push 0xb
push 0x53572c
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023bf
lea eax, [ebp - 0x2b0]
mov dword [ebp - 4], ebx
push eax
mov edi, 0x55040c
mov dword [ebp - 0x618], 1
call fcn.00408855
mov byte [ebp - 0x611], bl
cmp dword [eax + 0x10], ebx
jne 0x4102c6
mov byte [ebp - 0x611], 1
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x618], 1
je 0x4102e1
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.00402476
cmp byte [ebp - 0x611], bl
jne 0x411b3d
lea ecx, [ebp - 0x624]
call fcn.0042be62
mov dword [ebp - 4], 1
push dword [eax]
lea ecx, [ebp - 0x46c]
call fcn.00404466
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x624]
add eax, 0xfffffff0
call fcn.0040436d
lea ecx, [ebp - 0x61c]
call fcn.0042bf00
mov edi, eax
mov byte [ebp - 4], 4
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x410340
push dword [eax - 0xc]
push edi
call fcn.004040cc
push dword [edi]
lea ecx, [ebp - 0x38c]
call fcn.00404466
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 5
call fcn.00428a57
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x38c]
call fcn.0040476f
mov eax, dword [ebp - 0x61c]
add eax, 0xfffffff0
call fcn.0040436d
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 0x4103f4
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x4103b5
lea eax, [ebp - 0x370]
movsx eax, byte [eax + edi]
push eax
call fcn.004d7380
pop ecx
test eax, eax
je 0x4103eb
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x4103d9
lea eax, [ebp - 0x370]
movzx eax, byte [eax + edi]
push eax
push 1
lea ecx, [ebp - 0x3c4]
call fcn.0040966f
inc edi
cmp edi, dword [ebp - 0x360]
jb 0x4103a0
lea eax, [ebp - 0x450]
push eax
mov edi, 0x550350
call fcn.00411b43
lea eax, [ebp - 0x488]
push eax
mov edi, 0x550360
mov byte [ebp - 4], 0xa
call fcn.00411b43
push ebx
mov byte [ebp - 4], 0xb
call fcn.004d849d
mov dword [ebp - 0x638], eax
mov eax, dword [0x550440]
mov edi, dword [eax]
pop ecx
mov dword [ebp - 0x634], edx
mov dword [ebp - 0x624], edi
push ebx
push 0x52c8b6
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x344], ebx
mov byte [ebp - 0x354], bl
call fcn.004023bf
mov byte [ebp - 4], 0xc
cmp byte [0x550438], bl
jne 0x410647
push 0xa
push 0x535738
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004023bf
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0xd
call fcn.00408855
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x354]
call fcn.00402155
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x2b0]
push eax
mov byte [ebp - 4], 0xe
call fcn.00408855
cmp dword [eax + 0x14], 0x10
jb 0x410507
mov eax, dword [eax]
push eax
call fcn.004d8356
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x62c], eax
mov byte [ebp - 4], 0xc
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0xf
call fcn.00408855
cmp dword [eax + 0x14], 0x10
jb 0x410567
mov eax, dword [eax]
push eax
call fcn.004d8356
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x630], eax
mov byte [ebp - 4], 0xc
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0x10
call fcn.00408855
cmp dword [eax + 0x14], 0x10
jb 0x4105c7
mov eax, dword [eax]
push eax
call fcn.004d8356
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0xc
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0x11
call fcn.00408855
cmp dword [eax + 0x14], 0x10
jb 0x410627
mov eax, dword [eax]
push eax
call fcn.004d8356
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x628], eax
call fcn.00402476
jmp 0x4107c6
cmp edi, dword [0x550440]
je 0x411a7c
push 0x3f
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call fcn.004d9310
add esp, 0xc
push dword [edi + 0xc]
lea eax, [ebp - 0x70]
push 0x535778
push eax
call fcn.004d60b0
lea eax, [ebp - 0x70]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x41067f
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x354]
call fcn.004023bf
lea eax, [ebp - 0x70]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x41069e
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x3c4]
call fcn.004023bf
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 0x53577c
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.004023bf
mov byte [ebp - 4], 0x12
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040fa10
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.00402476
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.004023bf
mov byte [ebp - 4], 0x13
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040fa10
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.00402476
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.004023bf
lea edx, [edi + 0x48]
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x14
call fcn.0040f9af
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.00402476
lea eax, [ebp - 0x624]
call fcn.00411ea8
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.004023bf
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.00402476
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.004023bf
push 0xcc
lea esi, [ebp - 0x294]
mov byte [ebp - 4], 0x19
call fcn.0042975d
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x1b
call fcn.00428a57
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
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.00402476
mov eax, dword [0x550410]
mov ecx, dword [eax]
mov dword [ebp - 0x618], ecx
cmp eax, ecx
je 0x4109c8
lea eax, [ecx + 0x28]
add ecx, 0xc
lea ebx, [ebp - 0x338]
call fcn.00401a1d
lea eax, [ebp - 0x618]
call fcn.00413ec1
mov ecx, dword [ebp - 0x618]
cmp dword [0x550410], ecx
jne 0x41099e
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.004023bf
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x1e
call fcn.00429556
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402476
call fcn.00428e79
test al, al
mov eax, 0x5357dc
jne 0x410a4b
mov eax, 0x5357e0
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.00402433
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.004023bf
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 0x22
call fcn.00428eb6
pop ecx
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.00428a57
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.0040476f
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
mov byte [ebp - 4], 0x25
push dword [0x5503a0]
lea esi, [ebp - 0x2cc]
call fcn.0042975d
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push dword [ebp - 0x638]
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x27
call fcn.0042975d
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push dword [ebp - 0x630]
lea esi, [ebp - 0x2cc]
push dword [ebp - 0x62c]
mov byte [ebp - 4], 0x29
call fcn.0040ff1f
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push dword [ebp - 0x628]
mov byte [ebp - 4], 0x2b
push dword [ebp - 0x61c]
lea eax, [ebp - 0x2cc]
push eax
call fcn.00410081
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
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.00402476
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.004023bf
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.00402476
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.004023bf
push ebx
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x2f
call fcn.00410110
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push 2
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x31
call fcn.00410110
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push 4
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x33
call fcn.00410110
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push 1
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x35
call fcn.00410110
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push 3
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x37
call fcn.00410110
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
mov eax, 0x535888
cmp byte [0x5503ac], bl
jne 0x411004
mov eax, 0x53588c
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.00402433
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.004023bf
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
mov byte [ebp - 4], 0x3b
push dword [0x5503b0]
lea esi, [ebp - 0x2cc]
call fcn.0042975d
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
push 7
pop ecx
push dword [0x5503b4]
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.004d60b0
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 0x411139
sub eax, edi
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.004023bf
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.004023bf
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
mov byte [ebp - 4], 0x3f
push dword [0x5503b8]
lea esi, [ebp - 0x2cc]
call fcn.0042975d
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x5503bc
mov byte [ebp - 4], 0x41
call fcn.00428a57
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x5503d8
mov byte [ebp - 4], 0x43
call fcn.00428a57
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
fild dword [ebp - 0x610]
push ecx
push ecx
fdiv qword [0x537e88]
fldz
fcomp st(1)
fnstsw ax
fstp qword [esp]
test ah, 5
jp 0x411342
call fcn.004faf70
jmp 0x411347
call fcn.004d8380
pop ecx
pop ecx
call fcn.004da570
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.004023bf
push esi
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x45
call fcn.0042975d
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
mov byte [ebp - 4], 0x47
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push eax
lea esi, [ebp - 0x2cc]
call fcn.0042975d
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.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
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.0042975d
pop ecx
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0x4a
push ebx
call edi
push eax
lea esi, [ebp - 0x3fc]
call fcn.0042975d
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x2b0]
mov dword [esp], 0x5358f8
push ecx
mov ecx, eax
call fcn.00401e52
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x4c
push ecx
mov ecx, dword [ebp - 0x61c]
call fcn.0041248d
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.00402476
push ebx
push esi
lea ecx, [ebp - 0x2b0]
call fcn.00402476
push ebx
push esi
lea ecx, [ebp - 0x3fc]
call fcn.00402476
push ebx
push esi
lea ecx, [ebp - 0x2e8]
call fcn.00402476
push ebx
push esi
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
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.004023bf
push ebx
mov byte [ebp - 4], 0x4e
call fcn.004d849d
pop ecx
push eax
lea esi, [ebp - 0x2e8]
mov dword [ebp - 0x61c], edx
call fcn.0042975d
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.00402476
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
push str.remark1
lea ecx, [ebp - 0x294]
call fcn.00402456
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550394
mov byte [ebp - 4], 0x50
call fcn.0040fe54
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x51
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00402476
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
push str.remark2
lea ecx, [ebp - 0x294]
call fcn.00402456
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550388
mov byte [ebp - 4], 0x52
call fcn.0040fe54
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x53
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00402476
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402476
push 0x52c8b7
lea ecx, [ebp - 0x2b0]
call fcn.00402456
push str.remark3
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x54
call fcn.00402456
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.00402476
push 0
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402476
push str.waetrackid
lea ecx, [ebp - 0x294]
call fcn.00402456
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x55044c
mov byte [ebp - 4], 0x56
call fcn.00428a57
pop ecx
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x57
call fcn.00401a1d
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00402476
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.00402476
mov eax, 0x5503f4
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, 0x55041c
mov byte [ebp - 4], 0x58
call fcn.0041237a
pop ecx
pop ecx
push str.client_sign
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.00402456
lea eax, [ebp - 0x294]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0x5a
call fcn.00408855
mov ecx, eax
lea esi, [ebp - 0x2e8]
call fcn.00428971
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0x5b
call fcn.00411f4f
push esi
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040476f
push esi
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.00402476
lea esi, [ebp - 0x560]
call fcn.0042d047
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.00404466
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.00428971
mov byte [ebp - 4], 0x60
cmp dword [eax + 0x14], 8
jb 0x4117f1
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x418]
lea ebx, [ebp - 0x560]
call fcn.0042d0ce
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040476f
push ebx
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00402476
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x5d
call fcn.0040476f
xor eax, eax
push 0x206
mov word [ebp - 0x278], ax
lea eax, [ebp - 0x276]
push ebx
push eax
call fcn.004d9310
add esp, 0xc
lea eax, [ebp - 0x278]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, ebx
jle 0x41188b
cmp word [ebp + eax*2 - 0x27a], 0x5c
je 0x41188b
push 0x5359b4
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.00404466
lea edi, [ebp - 0x4a4]
mov byte [ebp - 4], 0x61
call fcn.004296d9
mov edi, eax
lea ecx, [ebp - 0x354]
lea esi, [ebp - 0x2b0]
mov byte [ebp - 4], 0x62
call fcn.00428971
push eax
lea eax, [ebp - 0x294]
push str.WAE_
push eax
mov byte [ebp - 4], 0x63
call fcn.004124d9
add esp, 0xc
lea ecx, [ebp - 0x2cc]
push 0x5359c4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x64
call fcn.00412359
mov ecx, eax
mov eax, edi
lea edi, [ebp - 0x3fc]
mov byte [ebp - 4], 0x65
call fcn.00412512
lea ecx, [ebp - 0x2e8]
push 0x5359b8
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x66
call fcn.00412359
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x67
call fcn.00411f4f
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x2e8]
call fcn.0040476f
push ebx
push edi
lea ecx, [ebp - 0x3fc]
call fcn.0040476f
push ebx
push edi
lea ecx, [ebp - 0x2cc]
call fcn.0040476f
push ebx
push edi
lea ecx, [ebp - 0x294]
call fcn.0040476f
push ebx
push edi
mov ecx, esi
call fcn.0040476f
push ebx
push edi
lea ecx, [ebp - 0x4a4]
call fcn.0040476f
cmp dword [ebp - 0x3cc], 8
mov eax, dword [ebp - 0x3e0]
jae 0x411995
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 0x4119e9
cmp dword [ebp - 0x394], 0x10
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x61c], ebx
jae 0x4119cc
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 [0x550438], bl
je 0x411a8c
call fcn.0040476f
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.00402476
lea esi, [ebp - 0x560]
call fcn.0042d094
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.0040476f
push 0x5503f4
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.00402476
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.00402476
push ebx
push edi
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0xb
call fcn.00402476
mov edi, dword [ebp - 0x624]
push 0xf
xor ebx, ebx
pop esi
jmp 0x41043e
push ebx
push 1
lea ecx, [ebp - 0x354]
call fcn.00402476
jmp 0x411af9
call fcn.0040476f
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.00402476
lea esi, [ebp - 0x560]
call fcn.0042d094
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.0040476f
push 0x5503f4
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.00402476
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.00402476
push ebx
push edi
lea ecx, [ebp - 0x354]
call fcn.00402476
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x488]
call fcn.00402476
push ebx
push esi
lea ecx, [ebp - 0x450]
call fcn.00402476
push ebx
push esi
lea ecx, [ebp - 0x3c4]
call fcn.00402476
push ebx
push esi
lea ecx, [ebp - 0x370]
call fcn.00402476
push ebx
push esi
lea ecx, [ebp - 0x46c]
call fcn.0040476f
call fcn.004da0d4
ret