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

Disassembly:
push 0x62c
mov eax, 0x507dac
call fcn.004da01f
xor ebx, ebx
mov dword [ebp - 0x618], ebx
push 0xf
pop esi
cmp byte [0x5503a8], bl
je 0x410445
push 0xb
push 0x53574c
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004024af
lea eax, [ebp - 0x2b0]
mov dword [ebp - 4], ebx
push eax
mov edi, 0x55040c
mov dword [ebp - 0x618], 1
call fcn.0040891e
mov byte [ebp - 0x611], bl
cmp dword [eax + 0x10], ebx
jne 0x41044c
mov byte [ebp - 0x611], 1
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x618], 1
je 0x410467
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.00402566
cmp byte [ebp - 0x611], bl
jne 0x411cc3
lea ecx, [ebp - 0x624]
call fcn.0042be19
mov dword [ebp - 4], 1
push dword [eax]
lea ecx, [ebp - 0x46c]
call fcn.00404526
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x624]
add eax, 0xfffffff0
call fcn.0040442d
lea ecx, [ebp - 0x61c]
call fcn.0042beb7
mov edi, eax
mov byte [ebp - 4], 4
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x4104c6
push dword [eax - 0xc]
push edi
call fcn.0040418c
push dword [edi]
lea ecx, [ebp - 0x38c]
call fcn.00404526
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 5
call fcn.00428aca
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x38c]
call fcn.0040482f
mov eax, dword [ebp - 0x61c]
add eax, 0xfffffff0
call fcn.0040442d
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 0x41057a
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x41053b
lea eax, [ebp - 0x370]
movsx eax, byte [eax + edi]
push eax
call fcn.004d7350
pop ecx
test eax, eax
je 0x410571
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x370]
jae 0x41055f
lea eax, [ebp - 0x370]
movzx eax, byte [eax + edi]
push eax
push 1
lea ecx, [ebp - 0x3c4]
call fcn.00409738
inc edi
cmp edi, dword [ebp - 0x360]
jb 0x410526
lea eax, [ebp - 0x450]
push eax
mov edi, 0x550350
call fcn.00411cc9
lea eax, [ebp - 0x488]
push eax
mov edi, 0x550360
mov byte [ebp - 4], 0xa
call fcn.00411cc9
push ebx
mov byte [ebp - 4], 0xb
call fcn.004d846d
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 0x52c8e6
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x344], ebx
mov byte [ebp - 0x354], bl
call fcn.004024af
mov byte [ebp - 4], 0xc
cmp byte [0x550438], bl
jne 0x4107cd
push 0xa
push 0x535758
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], bl
call fcn.004024af
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0xd
call fcn.0040891e
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x354]
call fcn.00402245
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.00402566
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.004024af
lea eax, [ebp - 0x2b0]
push eax
mov byte [ebp - 4], 0xe
call fcn.0040891e
cmp dword [eax + 0x14], 0x10
jb 0x41068d
mov eax, dword [eax]
push eax
call fcn.004d8326
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x62c], eax
mov byte [ebp - 4], 0xc
call fcn.00402566
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.004024af
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0xf
call fcn.0040891e
cmp dword [eax + 0x14], 0x10
jb 0x4106ed
mov eax, dword [eax]
push eax
call fcn.004d8326
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x630], eax
mov byte [ebp - 4], 0xc
call fcn.00402566
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.004024af
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0x10
call fcn.0040891e
cmp dword [eax + 0x14], 0x10
jb 0x41074d
mov eax, dword [eax]
push eax
call fcn.004d8326
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0xc
call fcn.00402566
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.004024af
lea eax, [ebp - 0x2b0]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0x11
call fcn.0040891e
cmp dword [eax + 0x14], 0x10
jb 0x4107ad
mov eax, dword [eax]
push eax
call fcn.004d8326
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x628], eax
call fcn.00402566
jmp 0x41094c
cmp edi, dword [0x550440]
je 0x411c02
push 0x3f
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call fcn.004d92e0
add esp, 0xc
push dword [edi + 0xc]
lea eax, [ebp - 0x70]
push 0x535798
push eax
call fcn.004d6080
lea eax, [ebp - 0x70]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x410805
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x354]
call fcn.004024af
lea eax, [ebp - 0x70]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x410824
sub eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x3c4]
call fcn.004024af
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 0x53579c
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.004024af
mov byte [ebp - 4], 0x12
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040fb99
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.00402566
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.004024af
mov byte [ebp - 4], 0x13
mov edx, dword [edi + 0xc]
lea ecx, [ebp - 0x2b0]
call fcn.0040fb99
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xc
call fcn.00402566
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.004024af
lea edx, [edi + 0x48]
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x14
call fcn.0040fb38
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.00402566
lea eax, [ebp - 0x624]
call fcn.00411ffa
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.004024af
lea eax, [ebp - 0x354]
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x18
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push 0xcc
lea esi, [ebp - 0x294]
mov byte [ebp - 4], 0x19
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1a
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x1b
call fcn.00428aca
pop ecx
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1c
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
lea eax, [ebp - 0x3c4]
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1d
call fcn.00401a46
push 0
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
mov eax, dword [0x550410]
mov ecx, dword [eax]
mov dword [ebp - 0x618], ecx
cmp eax, ecx
je 0x410b4e
lea eax, [ecx + 0x28]
add ecx, 0xc
lea ebx, [ebp - 0x338]
call fcn.00401a46
lea eax, [ebp - 0x618]
call fcn.00413efe
mov ecx, dword [ebp - 0x618]
cmp dword [0x550410], ecx
jne 0x410b24
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.004024af
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x1e
call fcn.004295c9
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x1f
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
call fcn.00428eec
test al, al
mov eax, 0x5357fc
jne 0x410bd1
mov eax, 0x535800
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.00402523
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.004024af
lea eax, [ebp - 0x294]
lea ecx, [ebp - 0x2b0]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x21
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
lea eax, [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 0x22
call fcn.00428f29
pop ecx
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.00428aca
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x24
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.0040482f
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
mov byte [ebp - 4], 0x25
push dword [0x5503a0]
lea esi, [ebp - 0x2cc]
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x26
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push dword [ebp - 0x638]
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x27
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x28
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push dword [ebp - 0x630]
lea esi, [ebp - 0x2cc]
push dword [ebp - 0x62c]
mov byte [ebp - 4], 0x29
call fcn.004100a8
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2a
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push dword [ebp - 0x628]
mov byte [ebp - 4], 0x2b
push dword [ebp - 0x61c]
lea eax, [ebp - 0x2cc]
push eax
call fcn.0041020a
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2c
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
lea eax, [ebp - 0x450]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2d
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
lea eax, [ebp - 0x488]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x2e
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push ebx
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x2f
call fcn.00410299
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x30
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push 2
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x31
call fcn.00410299
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x32
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push 4
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x33
call fcn.00410299
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x34
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push 1
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x35
call fcn.00410299
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x36
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push 3
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x37
call fcn.00410299
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x38
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
mov eax, 0x5358a8
cmp byte [0x5503ac], bl
jne 0x41118a
mov eax, 0x5358ac
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.00402523
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.004024af
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x3a
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
mov byte [ebp - 4], 0x3b
push dword [0x5503b0]
lea esi, [ebp - 0x2cc]
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x3c
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004d6080
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 0x4112bf
sub eax, edi
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.004024af
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.004024af
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x3e
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
mov byte [ebp - 4], 0x3f
push dword [0x5503b8]
lea esi, [ebp - 0x2cc]
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x40
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x5503bc
mov byte [ebp - 4], 0x41
call fcn.00428aca
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x42
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x5503d8
mov byte [ebp - 4], 0x43
call fcn.00428aca
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x44
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2cc]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
fild dword [ebp - 0x610]
push ecx
push ecx
fdiv qword [0x537ea8]
fldz
fcomp st(1)
fnstsw ax
fstp qword [esp]
test ah, 5
jp 0x4114c8
call fcn.004faf40
jmp 0x4114cd
call fcn.004d8350
pop ecx
pop ecx
call fcn.004da540
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.004024af
push esi
lea esi, [ebp - 0x2cc]
mov byte [ebp - 4], 0x45
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x46
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
mov byte [ebp - 4], 0x47
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push eax
lea esi, [ebp - 0x2cc]
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x48
call fcn.00401a46
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
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.004297d0
pop ecx
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0x4a
push ebx
call edi
push eax
lea esi, [ebp - 0x3fc]
call fcn.004297d0
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x2b0]
mov dword [esp], 0x535918
push ecx
mov ecx, eax
call fcn.00401f41
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x4c
push ecx
mov ecx, dword [ebp - 0x61c]
call fcn.00412559
add esp, 0xc
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x4d
call fcn.00401a46
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x2b0]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x3fc]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x2e8]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
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.004024af
push ebx
mov byte [ebp - 4], 0x4e
call fcn.004d846d
pop ecx
push eax
lea esi, [ebp - 0x2e8]
mov dword [ebp - 0x61c], edx
call fcn.004297d0
pop ecx
lea ecx, [ebp - 0x294]
lea ebx, [ebp - 0x338]
mov byte [ebp - 4], 0x4f
call fcn.00401a46
push 0
push 1
mov ecx, esi
call fcn.00402566
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
push str.remark1
lea ecx, [ebp - 0x294]
call fcn.00402546
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550394
mov byte [ebp - 4], 0x50
call fcn.0040ffdd
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x51
call fcn.00401a46
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00402566
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
push str.remark2
lea ecx, [ebp - 0x294]
call fcn.00402546
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x550388
mov byte [ebp - 4], 0x52
call fcn.0040ffdd
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x53
call fcn.00401a46
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00402566
push 0
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x17
call fcn.00402566
push 0x52c8e7
lea ecx, [ebp - 0x2b0]
call fcn.00402546
push str.remark3
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x54
call fcn.00402546
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x55
call fcn.00401a46
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.00402566
push 0
push 1
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x17
call fcn.00402566
push str.waetrackid
lea ecx, [ebp - 0x294]
call fcn.00402546
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x55044c
mov byte [ebp - 4], 0x56
call fcn.00428aca
pop ecx
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x57
call fcn.00401a46
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.00402566
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.00402566
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.00412446
pop ecx
pop ecx
push str.client_sign
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.00402546
lea eax, [ebp - 0x294]
push eax
mov edi, 0x55040c
mov byte [ebp - 4], 0x5a
call fcn.0040891e
mov ecx, eax
lea esi, [ebp - 0x2e8]
call fcn.004289e4
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0x5b
call fcn.004120cd
push esi
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040482f
push esi
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x59
call fcn.00402566
lea esi, [ebp - 0x560]
call fcn.0042cfb3
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x5c
call fcn.004019ce
push str.application_json
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x5d
call fcn.00404526
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x5e
call fcn.004019ce
mov ecx, eax
lea esi, [ebp - 0x2e8]
mov byte [ebp - 4], 0x5f
call fcn.004289e4
mov byte [ebp - 4], 0x60
cmp dword [eax + 0x14], 8
jb 0x411977
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x418]
lea ebx, [ebp - 0x560]
call fcn.0042d03a
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040482f
push ebx
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00402566
push ebx
push 1
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x5d
call fcn.0040482f
xor eax, eax
push 0x206
mov word [ebp - 0x278], ax
lea eax, [ebp - 0x276]
push ebx
push eax
call fcn.004d92e0
add esp, 0xc
lea eax, [ebp - 0x278]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, ebx
jle 0x411a11
cmp word [ebp + eax*2 - 0x27a], 0x5c
je 0x411a11
push 0x5359d4
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.00404526
lea edi, [ebp - 0x4a4]
mov byte [ebp - 4], 0x61
call fcn.0042974c
mov edi, eax
lea ecx, [ebp - 0x354]
lea esi, [ebp - 0x2b0]
mov byte [ebp - 4], 0x62
call fcn.004289e4
push eax
lea eax, [ebp - 0x294]
push str.WAE_
push eax
mov byte [ebp - 4], 0x63
call fcn.004125a5
add esp, 0xc
lea ecx, [ebp - 0x2cc]
push 0x5359e4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x64
call fcn.00412425
mov ecx, eax
mov eax, edi
lea edi, [ebp - 0x3fc]
mov byte [ebp - 4], 0x65
call fcn.004125de
lea ecx, [ebp - 0x2e8]
push 0x5359d8
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x66
call fcn.00412425
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x67
call fcn.004120cd
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x2e8]
call fcn.0040482f
push ebx
push edi
lea ecx, [ebp - 0x3fc]
call fcn.0040482f
push ebx
push edi
lea ecx, [ebp - 0x2cc]
call fcn.0040482f
push ebx
push edi
lea ecx, [ebp - 0x294]
call fcn.0040482f
push ebx
push edi
mov ecx, esi
call fcn.0040482f
push ebx
push edi
lea ecx, [ebp - 0x4a4]
call fcn.0040482f
cmp dword [ebp - 0x3cc], 8
mov eax, dword [ebp - 0x3e0]
jae 0x411b1b
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 0x411b6f
cmp dword [ebp - 0x394], 0x10
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x61c], ebx
jae 0x411b52
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 0x411c12
call fcn.0040482f
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.00402566
lea esi, [ebp - 0x560]
call fcn.0042d000
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.0040482f
push 0x5503f4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x16
call fcn.004018a8
push ebx
push edi
lea ecx, [ebp - 0x434]
call fcn.00402566
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.00402566
push ebx
push edi
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0xb
call fcn.00402566
mov edi, dword [ebp - 0x624]
push 0xf
xor ebx, ebx
pop esi
jmp 0x4105c4
push ebx
push 1
lea ecx, [ebp - 0x354]
call fcn.00402566
jmp 0x411c7f
call fcn.0040482f
push ebx
push edi
lea ecx, [ebp - 0x3a8]
call fcn.00402566
lea esi, [ebp - 0x560]
call fcn.0042d000
push ebx
push edi
lea ecx, [ebp - 0x418]
call fcn.0040482f
push 0x5503f4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x16
call fcn.004018a8
push ebx
push edi
lea ecx, [ebp - 0x434]
call fcn.00402566
push ebx
push edi
lea ecx, [ebp - 0x38c]
call fcn.00402566
push ebx
push edi
lea ecx, [ebp - 0x354]
call fcn.00402566
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x488]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x450]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x3c4]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x370]
call fcn.00402566
push ebx
push esi
lea ecx, [ebp - 0x46c]
call fcn.0040482f
call fcn.004da0a2
ret