Function at 0x403590
Capabilities:
Create process on windows
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x460bd2
mov eax, dword fs:[0]
push eax
sub esp, 0x390
mov eax, dword [0x4770c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
mov edx, str.Starting_OperaInstaller_n
mov ecx, 0x4783b0
mov dword [ebp - 0x288], esi
call fcn.00409650
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea ecx, [ebp - 0x280]
mov dword [ebp - 4], 0
call fcn.00402db0
lea ecx, [ebp - 0xd0]
cmp ecx, eax
je 0x40363e
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x403678
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40366e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051d7
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0xe8]
call fcn.00406e70
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
push 0xb0
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 5
push 0
push eax
call fcn.0043b870
add esp, 8
lea ecx, [ebp - 0x198]
call fcn.004064f0
mov eax, 1
mov byte [ebp - 4], 6
mov dword [ebp - 0x284], eax
cmp dword [ebp + 8], eax
jle 0x403bcf
mov dword [ebp - 0x268], str._log
mov edx, dword [esi + eax*4]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403761
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.0040a700
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 7
call fcn.004032d0
cmp dword [ebp - 0x44], 0xf
lea ecx, [ebp - 0x58]
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x48]
seta dl
cmova ecx, edi
mov byte [ebp - 0x25d], dl
cmp eax, 4
jb 0x40393d
mov esi, 4
mov edx, str._log
sub esi, esi
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4037c6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4037b0
cmp esi, 0xfffffffc
je 0x4037fa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4037f3
cmp esi, 0xfffffffd
je 0x4037fa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4037f3
cmp esi, 0xfffffffe
je 0x4037fa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4037f3
cmp esi, 0xffffffff
je 0x4037fa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4037fa
sbb eax, eax
or eax, 1
jmp 0x4037fc
xor eax, eax
test eax, eax
sete al
test al, al
mov eax, dword [ebp - 0x48]
je 0x403937
mov dword [ebp - 0x270], 0
xorps xmm0, xmm0
mov dword [ebp - 0x26c], 0
movups xmmword [ebp - 0x280], xmm0
cmp eax, 5
jb 0x4051dc
add eax, 0xfffffffb
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x25d], 0
lea eax, [ebp - 0x58]
cmovne eax, edi
push ecx
add eax, 5
lea ecx, [ebp - 0x280]
push eax
call fcn.0040a700
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0xf
jbe 0x403896
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40388c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051d7
push ecx
push edx
call fcn.0043a5cf
add esp, 8
movups xmm1, xmmword [ebp - 0x280]
cmp dword [ebp - 0x26c], 0xf
lea ecx, [ebp - 0xa0]
movq xmm0, qword [ebp - 0x270]
movd eax, xmm1
movups xmmword [ebp - 0xa0], xmm1
cmova ecx, eax
movq qword [ebp - 0x90], xmm0
sub esp, 8
push ecx
lea ecx, [ebp - 0x194]
call fcn.00408ce0
test eax, eax
lea ecx, [ebp - 0x198]
mov eax, dword [ebp - 0x198]
je 0x4038f9
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x40390e
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push 0
push eax
call fcn.00402240
cmp dword [ebp - 0x148], 0
jne 0x403b78
mov edx, str.Unable_to_open_log_file_n
mov ecx, 0x4783b0
call fcn.00409650
jmp 0x403b78
mov dl, byte [ebp - 0x25d]
test dl, dl
lea ecx, [ebp - 0x58]
mov esi, 0xa
mov edx, str._sourceId
cmovne ecx, edi
cmp eax, esi
jb 0x403a5d
sub esi, 4
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403976
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403960
cmp esi, 0xfffffffc
je 0x4039aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4039a3
cmp esi, 0xfffffffd
je 0x4039aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4039a3
cmp esi, 0xfffffffe
je 0x4039aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4039a3
cmp esi, 0xffffffff
je 0x4039aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4039aa
sbb eax, eax
or eax, 1
jmp 0x4039ac
xor eax, eax
test eax, eax
sete al
test al, al
mov eax, dword [ebp - 0x48]
je 0x403a5d
mov dword [ebp - 0x270], 0
xorps xmm0, xmm0
mov dword [ebp - 0x26c], 0
movups xmmword [ebp - 0x280], xmm0
cmp eax, 0xa
jb 0x4051dc
add eax, 0xfffffff6
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x25d], 0
lea eax, [ebp - 0x58]
cmovne eax, edi
push ecx
add eax, 0xa
lea ecx, [ebp - 0x280]
push eax
call fcn.0040a700
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x403a40
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403a36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051d7
push ecx
push edx
call fcn.0043a5cf
add esp, 8
movups xmm0, xmmword [ebp - 0x280]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [ebp - 0x270]
movq qword [ebp - 0x60], xmm0
jmp 0x403b78
cmp byte [ebp - 0x25d], 0
lea ecx, [ebp - 0x58]
mov esi, 6
mov edx, str._uuid
cmovne ecx, edi
cmp eax, esi
jb 0x403b7b
sub esi, 4
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403a96
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403a80
cmp esi, 0xfffffffc
je 0x403aca
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403ac3
cmp esi, 0xfffffffd
je 0x403aca
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403ac3
cmp esi, 0xfffffffe
je 0x403aca
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403ac3
cmp esi, 0xffffffff
je 0x403aca
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x403aca
sbb eax, eax
or eax, 1
jmp 0x403acc
xor eax, eax
test eax, eax
sete al
test al, al
je 0x403b7b
mov eax, dword [ebp - 0x48]
xorps xmm0, xmm0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
movups xmmword [ebp - 0x280], xmm0
cmp eax, 6
jb 0x4051dc
add eax, 0xfffffffa
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x25d], 0
lea eax, [ebp - 0x58]
cmovne eax, edi
push ecx
add eax, 6
lea ecx, [ebp - 0x280]
push eax
call fcn.0040a700
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x403b60
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403b56
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051d7
push ecx
push edx
call fcn.0043a5cf
add esp, 8
movups xmm0, xmmword [ebp - 0x280]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [ebp - 0x270]
movq qword [ebp - 0x30], xmm0
mov edi, dword [ebp - 0x58]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x44]
cmp eax, 0xf
jbe 0x403bb2
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x403ba8
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051d7
push ecx
push edi
call fcn.0043a5cf
add esp, 8
mov eax, dword [ebp - 0x284]
inc eax
mov dword [ebp - 0x284], eax
cmp eax, dword [ebp + 8]
jge 0x403bcf
mov esi, dword [ebp - 0x288]
jmp 0x403744
cmp dword [ebp - 0x30], 0
jne 0x403c8f
lea ecx, [ebp - 0x33c]
call fcn.004033f0
mov esi, eax
lea eax, [ebp - 0x40]
cmp eax, esi
je 0x403c55
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x403c21
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403c17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051e1
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x30], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x328]
cmp ecx, 0xf
jbe 0x403c8f
mov edx, dword [ebp - 0x33c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403c85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051e1
push ecx
push edx
call fcn.0043a5cf
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
xor eax, eax
mov dword [ebp - 0x74], 7
movups xmmword [ebp - 0x88], xmm0
mov word [ebp - 0x88], ax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 8
call fcn.00402f50
test al, al
je 0x403cd3
push str.OperaSetup.exe
lea ecx, [ebp - 0x88]
call fcn.00406b60
cmp dword [ebp - 0x74], 7
lea eax, [ebp - 0x88]
push 0
cmova eax, dword [ebp - 0x88]
push 0x8000080
push 4
push 0
push 1
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0x288], edi
cmp edi, 0xffffffff
jne 0x403dd7
mov edx, str.Failed_to_create_file
mov ecx, 0x478498
call fcn.00409bc0
cmp dword [ebp - 0x74], 7
lea edx, [ebp - 0x88]
push dword [ebp - 0x78]
cmova edx, dword [ebp - 0x88]
mov ecx, eax
call fcn.0040c040
add esp, 4
mov edx, str.__error_code
mov ecx, eax
call fcn.00409bc0
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x280]
call fcn.004093b0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x280]
cmp dword [ebp - 0x26c], 7
mov ecx, esi
push dword [ebp - 0x270]
cmova edx, dword [ebp - 0x280]
call fcn.0040c040
add esp, 4
mov ecx, eax
call fcn.00409e60
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x26c]
cmp ecx, 7
jbe 0x403dcf
mov edx, dword [ebp - 0x280]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403dc5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051e6
push ecx
push edx
call fcn.0043a5cf
add esp, 8
or esi, 0xffffffff
jmp 0x404f9b
call fcn.0040c410
cmp dword [ebp - 0x60], 0
mov esi, eax
mov dword [ebp - 0x284], esi
jne 0x403df9
push 4
push str.1001
lea ecx, [ebp - 0x70]
call fcn.004091a0
mov edx, str.Using_campaign
lea ecx, [ebp - 0x198]
call fcn.00409650
cmp dword [ebp - 0x5c], 0xf
lea edx, [ebp - 0x70]
push dword [ebp - 0x60]
cmova edx, dword [ebp - 0x70]
mov ecx, eax
call fcn.0040bde0
mov ecx, eax
call fcn.00409900
mov edx, str.Using_uuid
lea ecx, [ebp - 0x198]
call fcn.00409650
cmp dword [ebp - 0x2c], 0xf
lea edx, [ebp - 0x40]
push dword [ebp - 0x30]
cmova edx, dword [ebp - 0x40]
mov ecx, eax
call fcn.0040bde0
add esp, 8
mov ecx, eax
call fcn.00409900
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x294], eax
mov ecx, dword [eax]
mov eax, dword [0x479234]
cmp eax, dword [ecx + 4]
jle 0x4042a5
push 0x479234
call fcn.0043a2ea
add esp, 4
cmp dword [0x479234], 0xffffffff
jne 0x4042a5
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xa
push eax
mov edx, str.https:__partners_offapi.net_apiBundle_stpstat_sourceID
lea ecx, [ebp - 0x36c]
call fcn.00405210
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0xb
mov edx, dword [edi + 0x14]
mov eax, edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 9
jb 0x403ee5
lea eax, [ecx + 9]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0xf
jbe 0x403ecc
mov eax, dword [edi]
push 9
lea esi, [eax + ecx]
push str.subId_1
push esi
call fcn.0043b9d0
add esp, 0xc
mov byte [esi + 9], 0
jmp 0x403efd
push 9
push str.subId_1
push dword [ebp - 0x264]
mov ecx, edi
push 9
call fcn.0040b060
mov edi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [edi + 0x10], 0
lea ecx, [ebp - 0x40]
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x2c], 0xf
mov edx, dword [ebp - 0x18]
cmova ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x28c], edx
push edi
push ecx
cmp edi, eax
ja 0x403f89
cmp dword [ebp - 0x14], 0xf
lea esi, [ebp - 0x28]
lea eax, [edi + edx]
cmova esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
lea eax, [esi + edx]
push eax
call fcn.0043b9d0
mov ecx, dword [ebp - 0x28c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0x28]
jmp 0x403f98
push dword [ebp - 0x264]
lea ecx, [ebp - 0x28]
push edi
call fcn.0040b060
xorps xmm0, xmm0
mov dword [ebp - 0x2cc], 0
movups xmmword [ebp - 0x2dc], xmm0
mov dword [ebp - 0x2c8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2dc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2cc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x2c8]
mov eax, edx
mov ecx, dword [ebp - 0x2cc]
sub eax, ecx
push 0x2e
push str.subId_2operasubId_3100subId_440subId_5
cmp eax, 0x2e
jb 0x40402e
cmp edx, 0xf
lea esi, [ebp - 0x2dc]
lea eax, [ecx + 0x2e]
cmova esi, dword [ebp - 0x2dc]
add esi, ecx
mov dword [ebp - 0x2cc], eax
push esi
call fcn.0043b9d0
add esp, 0xc
mov byte [esi + 0x2e], 0
lea eax, [ebp - 0x2dc]
jmp 0x404041
push dword [ebp - 0x264]
lea ecx, [ebp - 0x2dc]
push 0x2e
call fcn.0040b060
xorps xmm0, xmm0
mov dword [ebp - 0x2b4], 0
movups xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0x2b0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2c4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2b4], xmm0
mov dword [eax + 0x10], 0
lea ecx, [ebp - 0xe8]
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0xd4], 0xf
mov esi, dword [ebp - 0x2b0]
mov eax, esi
cmova ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x2b4]
sub eax, edx
mov edi, dword [ebp - 0xd8]
push edi
push ecx
cmp edi, eax
ja 0x4040ec
lea eax, [edi + edx]
cmp esi, 0xf
mov dword [ebp - 0x2b4], eax
lea eax, [ebp - 0x2c4]
cmova eax, dword [ebp - 0x2c4]
lea esi, [eax + edx]
push esi
call fcn.0043b9d0
add esp, 0xc
mov byte [esi + edi], 0
lea eax, [ebp - 0x2c4]
jmp 0x4040fe
push dword [ebp - 0x264]
lea ecx, [ebp - 0x2c4]
push edi
call fcn.0040b060
mov dword [0x479284], 0
xorps xmm0, xmm0
movups xmmword [0x479274], xmm0
mov dword [0x479288], 0
movups xmm0, xmmword [eax]
movups xmmword [0x479274], xmm0
movq xmm0, qword [eax + 0x10]
mov byte [ebp - 4], 0xd
movq qword [0x479284], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x2b0]
cmp ecx, 0xf
jbe 0x404182
mov edx, dword [ebp - 0x2c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404178
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051eb
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xf
mov byte [ebp - 0x2c4], 0
cmp ecx, 0xf
jbe 0x4041db
mov edx, dword [ebp - 0x2dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4041d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051eb
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
cmp ecx, 0xf
jbe 0x40422e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404224
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051eb
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0xf
jbe 0x40427e
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404274
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051eb
push ecx
push edx
call fcn.0043a5cf
add esp, 8
push 0x4616e0
call fcn.0043a5ba
push 0x479234
mov byte [ebp - 4], 8
call fcn.0043a299
mov esi, dword [ebp - 0x284]
add esp, 8
mov edi, dword [ebp - 0x288]
push 0
push 0x51
push esi
call fcn.0040f240
push 0
push 0x40
push esi
call fcn.0040f240
push 0
push 0x2751
push esi
call fcn.0040f240
push 1
push 0x34
push esi
call fcn.0040f240
push 5
push 0x44
push esi
call fcn.0040f240
push 7
push 0xa1
push esi
call fcn.0040f240
add esp, 0x48
push 0x4032c0
push 0x4e2b
push esi
call fcn.0040f240
cmp dword [0x479288], 0xf
mov eax, 0x479274
cmova eax, dword [0x479274]
push eax
push 0x2712
push esi
call fcn.0040f240
mov edx, str.Sending_start_request:
lea ecx, [ebp - 0x198]
call fcn.00409650
cmp dword [0x479288], 0xf
mov edx, 0x479274
push dword [0x479284]
cmova edx, dword [0x479274]
mov ecx, eax
call fcn.0040bde0
mov ecx, eax
call fcn.00409900
push esi
call fcn.0040c450
add esp, 0x20
push eax
call fcn.004068e0
mov ecx, eax
call fcn.00409900
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax]
mov eax, dword [0x479270]
cmp eax, dword [ecx + 4]
jle 0x4043c3
push 0x479270
call fcn.0043a2ea
add esp, 4
cmp dword [0x479270], 0xffffffff
jne 0x4043c3
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xf
push eax
mov edx, str.https:__net.geo.opera.com_opera_stable_utm_mediumapbutm_sourceOFTutm_campaign
mov ecx, 0x479258
call fcn.00405210
push 0x461680
call fcn.0043a5ba
push 0x479270
mov byte [ebp - 4], 8
call fcn.0043a299
add esp, 0xc
mov edx, str.Downloading_URL:
lea ecx, [ebp - 0x198]
call fcn.00409650
cmp dword [0x47926c], 0xf
mov edx, 0x479258
push dword [0x479268]
cmova edx, dword [0x479258]
mov ecx, eax
call fcn.0040bde0
mov ecx, eax
call fcn.00409900
cmp dword [0x47926c], 0xf
mov eax, 0x479258
cmova eax, dword [0x479258]
push eax
push 0x2712
push esi
call fcn.0040f240
push edi
push 0x2711
push esi
call fcn.0040f240
push 0x403270
push 0x4e2b
push esi
call fcn.0040f240
push esi
call fcn.0040c450
add esp, 0x2c
push eax
call fcn.004068e0
mov ecx, eax
call fcn.00409900
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea ecx, [ebp - 0x198]
mov edx, str.Downloaded_Opera_file_size:
mov dword [ebp - 0x28c], esi
call fcn.00409650
mov ecx, esi
mov dword [ebp - 0x264], eax
lea edi, [ebp - 0x13]
mov dword [ebp - 0x290], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x290]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x290], eax
test eax, eax
jne 0x404480
push ecx
lea eax, [ebp - 0x13]
push eax
push edi
lea ecx, [ebp - 0x280]
call fcn.0040bcc0
mov ecx, dword [ebp - 0x264]
lea edx, [ebp - 0x280]
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x26c], 0xf
push dword [ebp - 0x270]
cmova edx, dword [ebp - 0x280]
call fcn.0040bde0
add esp, 4
mov ecx, eax
call fcn.00409900
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x404532
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404528
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051f0
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov edx, dword [ebp - 0x294]
mov eax, dword [0x4792b0]
mov ecx, dword [edx]
cmp eax, dword [ecx + 4]
jle 0x404978
push 0x4792b0
call fcn.0043a2ea
add esp, 4
cmp dword [0x4792b0], 0xffffffff
jne 0x404978
mov byte [ebp - 4], 0x11
lea edi, [ebp - 0x13]
nop dword [eax]
mov eax, 0xcccccccd
dec edi
mul esi
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
mov esi, edx
add cl, al
mov eax, dword [ebp - 0x28c]
add cl, cl
sub al, cl
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x28c], eax
test eax, eax
jne 0x404570
push ecx
lea eax, [ebp - 0x13]
push eax
push edi
lea ecx, [ebp - 0x33c]
call fcn.0040bcc0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x12
push eax
mov edx, str.https:__partners_offapi.net_apiBundle_stpstat_sourceID
lea ecx, [ebp - 0x354]
call fcn.00405210
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0x13
mov edx, dword [edi + 0x14]
mov eax, edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 9
jb 0x404609
lea eax, [ecx + 9]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0xf
jbe 0x4045f0
mov eax, dword [edi]
push 9
lea esi, [eax + ecx]
push str.subId_1
push esi
call fcn.0043b9d0
add esp, 0xc
mov byte [esi + 9], 0
jmp 0x404621
push 9
push str.subId_1
push dword [ebp - 0x264]
mov ecx, edi
push 9
call fcn.0040b060
mov edi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x29c], 0
movups xmmword [ebp - 0x2ac], xmm0
mov dword [ebp - 0x298], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x2ac], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x29c], xmm0
mov dword [edi + 0x10], 0
lea ecx, [ebp - 0x40]
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x2c], 0xf
mov edx, dword [ebp - 0x29c]
cmova ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x298]
mov edi, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x264], edx
push edi
push ecx
cmp edi, eax
ja 0x4046d1
cmp dword [ebp - 0x298], 0xf
lea esi, [ebp - 0x2ac]
lea eax, [edx + edi]
cmova esi, dword [ebp - 0x2ac]
mov dword [ebp - 0x29c], eax
lea eax, [esi + edx]
push eax
call fcn.0043b9d0
mov ecx, dword [ebp - 0x264]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0x2ac]
jmp 0x4046e3
push dword [ebp - 0x264]
lea ecx, [ebp - 0x2ac]
push edi
call fcn.0040b060
xorps xmm0, xmm0
mov dword [ebp - 0x2e4], 0
movups xmmword [ebp - 0x2f4], xmm0
mov dword [ebp - 0x2e0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2f4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2e4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x2e0]
mov eax, edx
mov ecx, dword [ebp - 0x2e4]
sub eax, ecx
push 0x2e
push str.subId_2operasubId_3110subId_440subId_5
cmp eax, 0x2e
jb 0x404779
cmp edx, 0xf
lea esi, [ebp - 0x2f4]
lea eax, [ecx + 0x2e]
cmova esi, dword [ebp - 0x2f4]
add esi, ecx
mov dword [ebp - 0x2e4], eax
push esi
call fcn.0043b9d0
add esp, 0xc
mov byte [esi + 0x2e], 0
lea eax, [ebp - 0x2f4]
jmp 0x40478c
push dword [ebp - 0x264]
lea ecx, [ebp - 0x2f4]
push 0x2e
call fcn.0040b060
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x324], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x314], xmm0
mov dword [eax + 0x10], 0
mov ecx, 0x479298
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
mov byte [ebp - 4], 0x16
push eax
push dword [ebp - 0x264]
call fcn.0040b990
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x310]
cmp ecx, 0xf
jbe 0x404814
mov edx, dword [ebp - 0x324]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40480a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051f5
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x2e0]
cmp ecx, 0xf
jbe 0x404852
mov edx, dword [ebp - 0x2f4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404848
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051f5
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0xf
mov byte [ebp - 0x2f4], 0
cmp ecx, 0xf
jbe 0x4048ab
mov edx, dword [ebp - 0x2ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4048a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051f5
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x340]
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
cmp ecx, 0xf
jbe 0x404904
mov edx, dword [ebp - 0x354]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4048fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051f5
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x328]
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
cmp ecx, 0xf
jbe 0x40495d
mov edx, dword [ebp - 0x33c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404953
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051f5
push ecx
push edx
call fcn.0043a5cf
add esp, 8
push 0x461620
call fcn.0043a5ba
push 0x4792b0
mov byte [ebp - 4], 8
call fcn.0043a299
add esp, 8
mov esi, dword [ebp - 0x284]
push 0x4032c0
push 0x4e2b
push esi
call fcn.0040f240
cmp dword [0x4792ac], 0xf
mov eax, 0x479298
cmova eax, dword [0x479298]
push eax
push 0x2712
push esi
call fcn.0040f240
mov edx, str.Sending_downloaded_request:
lea ecx, [ebp - 0x198]
call fcn.00409650
cmp dword [0x4792ac], 0xf
mov edx, 0x479298
push dword [0x4792a8]
cmova edx, dword [0x479298]
mov ecx, eax
call fcn.0040bde0
mov ecx, eax
call fcn.00409900
push esi
call fcn.0040c450
add esp, 0x20
push eax
call fcn.004068e0
mov ecx, eax
call fcn.00409900
push dword [ebp - 0x288]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push str.__silent___allusers0
lea ecx, [ebp - 0xb8]
call fcn.00406c40
push 0x84
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x17
push 0
push eax
call fcn.0043b870
add esp, 0xc
lea eax, [ebp - 0xb8]
cmp dword [ebp - 0xa4], 7
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x21c], ecx
lea ecx, [ebp - 0x21c]
cmova eax, dword [ebp - 0xb8]
push 3
push eax
call fcn.00407dd0
mov edx, str.Launch_parameters:
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x198]
call fcn.00409650
mov edx, dword [ebp - 0x21c]
mov ecx, eax
call fcn.00409650
mov ecx, eax
call fcn.00409900
cmp dword [ebp - 0x74], 7
lea eax, [ebp - 0x88]
xorps xmm0, xmm0
mov dword [ebp - 0x25c], 0x3c
cmova eax, dword [ebp - 0x88]
cmp dword [ebp - 0xa4], 7
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0xb8]
cmova eax, dword [ebp - 0xb8]
movlpd qword [ebp - 0x238], xmm0
movlpd qword [ebp - 0x230], xmm0
movlpd qword [ebp - 0x228], xmm0
mov dword [ebp - 0x258], 0x40
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], str.open
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 5
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x23c], 0
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x404f0a
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x404f0a
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x220]
mov dword [ebp - 0x220], 0xfffe1dc0
push eax
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
lea ecx, [ebp - 0x198]
test eax, eax
je 0x404b8d
mov edx, str.Exit_code:
call fcn.00409650
push dword [ebp - 0x220]
mov ecx, eax
call fcn.00406720
mov ecx, eax
call fcn.00409900
jmp 0x404b97
mov edx, str.Error._Process_has_finished__but_its_impossible_to_retreive_exit_code._n
call fcn.00409650
push dword [ebp - 0x224]
call edi
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax]
mov eax, dword [0x47928c]
cmp eax, dword [ecx + 4]
jle 0x404e9c
push 0x47928c
call fcn.0043a2ea
add esp, 4
cmp dword [0x47928c], 0xffffffff
jne 0x404e9c
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x39c]
mov edx, dword [ebp - 0x220]
call fcn.00401570
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x1a
push eax
mov edx, str.https:__partners_offapi.net_apiBundle_stpstat_sourceID
lea ecx, [ebp - 0x384]
call fcn.00405210
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0x1b
mov edx, dword [edi + 0x14]
mov eax, edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 9
jb 0x404c45
lea eax, [ecx + 9]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0xf
jbe 0x404c2c
mov eax, dword [edi]
push 9
lea esi, [eax + ecx]
push str.subId_1
push esi
call fcn.0043b9d0
add esp, 0xc
mov byte [esi + 9], 0
jmp 0x404c5d
push 9
push str.subId_1
push dword [ebp - 0x264]
mov ecx, edi
push 9
call fcn.0040b060
mov edi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x2fc], 0
movups xmmword [ebp - 0x30c], xmm0
mov dword [ebp - 0x2f8], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x30c], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x2fc], xmm0
mov dword [edi + 0x10], 0
lea ecx, [ebp - 0x40]
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x2c], 0xf
mov edx, dword [ebp - 0x2fc]
cmova ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2f8]
mov edi, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x264], edx
push edi
push ecx
cmp edi, eax
ja 0x404d0d
cmp dword [ebp - 0x2f8], 0xf
lea esi, [ebp - 0x30c]
lea eax, [edi + edx]
cmova esi, dword [ebp - 0x30c]
mov dword [ebp - 0x2fc], eax
lea eax, [esi + edx]
push eax
call fcn.0043b9d0
mov ecx, dword [ebp - 0x264]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0x30c]
jmp 0x404d1f
push dword [ebp - 0x264]
lea ecx, [ebp - 0x30c]
push edi
call fcn.0040b060
xorps xmm0, xmm0
mov dword [ebp - 0x270], 0
movups xmmword [ebp - 0x280], xmm0
mov dword [ebp - 0x26c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x280], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x270], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x26c]
mov eax, edx
mov ecx, dword [ebp - 0x270]
sub eax, ecx
push 0x2f
push str.subId_2operasubId_3120subId_440exitCode
cmp eax, 0x2f
jb 0x404db5
cmp edx, 0xf
lea esi, [ebp - 0x280]
lea eax, [ecx + 0x2f]
cmova esi, dword [ebp - 0x280]
add esi, ecx
mov dword [ebp - 0x270], eax
push esi
call fcn.0043b9d0
add esp, 0xc
mov byte [esi + 0x2f], 0
lea eax, [ebp - 0x280]
jmp 0x404dc8
push dword [ebp - 0x264]
lea ecx, [ebp - 0x280]
push 0x2f
call fcn.0040b060
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x324], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x314], xmm0
push dword [ebp - 0x288]
mov dword [eax + 0x10], 0
mov ecx, 0x479240
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x324]
push eax
push dword [ebp - 0x264]
mov byte [ebp - 4], 0x1e
call fcn.0040b990
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x310]
cmp ecx, 0xf
jbe 0x404e4f
mov edx, dword [ebp - 0x324]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404e45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051fa
push ecx
push edx
call fcn.0043a5cf
add esp, 8
lea ecx, [ebp - 0x280]
call fcn.00405340
lea ecx, [ebp - 0x30c]
call fcn.00405340
lea ecx, [ebp - 0x384]
call fcn.00405340
lea ecx, [ebp - 0x39c]
call fcn.00405340
push 0x4615c0
call fcn.0043a5ba
push 0x47928c
mov byte [ebp - 4], 0x18
call fcn.0043a299
mov esi, dword [ebp - 0x284]
add esp, 8
cmp dword [0x479254], 0xf
mov eax, 0x479240
cmova eax, dword [0x479240]
push eax
push 0x2712
push esi
call fcn.0040f240
mov edx, str.Sending_installed_request:
lea ecx, [ebp - 0x198]
call fcn.00409650
cmp dword [0x479254], 0xf
mov edx, 0x479240
push dword [0x479250]
cmova edx, dword [0x479240]
mov ecx, eax
call fcn.0040bde0
mov ecx, eax
call fcn.00409900
push esi
call fcn.0040c450
add esp, 0x14
push eax
call fcn.004068e0
mov ecx, eax
call fcn.00409900
jmp 0x404f1a
mov edx, str.Error._Unable_to_launch_process._n
lea ecx, [ebp - 0x198]
call fcn.00409650
push esi
call fcn.0040c3f0
mov eax, dword [ebp - 0x21c]
lea ecx, [ebp - 0x218]
add esp, 4
xor esi, esi
cmp eax, ecx
je 0x404f3e
push eax
call fcn.004423b9
add esp, 4
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xa4]
cmp ecx, 7
jbe 0x404f82
mov edx, dword [ebp - 0xb8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404f78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051ff
push ecx
push edx
call fcn.0043a5cf
add esp, 8
xor eax, eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x74]
cmp ecx, 7
jbe 0x404fdc
mov edx, dword [ebp - 0x88]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404fd2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051ff
push ecx
push edx
call fcn.0043a5cf
add esp, 8
xor eax, eax
mov dword [ebp - 0x78], 0
mov word [ebp - 0x88], ax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x74], 7
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x19c], eax
lea ecx, [ebp - 0x194]
call fcn.004060d0
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x19c], eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x1f
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00439513
mov ecx, dword [ebp - 0x8c]
add esp, 4
cmp ecx, 0xf
jbe 0x4050a3
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405099
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051ff
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp ecx, 0xf
jbe 0x4050f2
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4050e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051ff
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0xf
jbe 0x405138
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40512e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051ff
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ecx, 0xf
jbe 0x405184
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40517a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051ff
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0xf
jbe 0x4051ba
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4051b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4051ff
push ecx
push edx
call fcn.0043a5cf
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043a25b
mov esp, ebp
pop ebp
ret
call fcn.004430c5
call fcn.004093a0
call fcn.004430c5
call fcn.004430c5
call fcn.004430c5
call fcn.004430c5
call fcn.004430c5
call fcn.004430c5
call fcn.004430c5
int3