Function at 0x451700
Capabilities:
Access peb ldr_data
Create process on windows
Get number of processors
Self delete

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x140
mov eax, dword [0x644040]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xa0]
mov eax, dword [eax + 0xc]
mov ecx, dword fs:[0x18]
cmp eax, dword [ecx + 0x24]
je 0x4524b7
lea eax, [ebp + 8]
pxor xmm0, xmm0
lea ecx, [ebp - 0x1c]
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov ebx, dword [eax]
mov dword [ebp - 0x144], ecx
push ecx
push ebx
call fcn.00452950
add esp, 8
mov esi, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x40]
cmp esi, edi
je 0x4517d3
lea ebx, [ebp - 0xd4]
movsx eax, byte [esi + 0xb]
mov ecx, esi
test eax, eax
jns 0x451786
mov eax, dword [esi + 4]
test eax, eax
js 0x4524b1
mov ecx, dword [esi]
test eax, eax
sete dl
test ecx, ecx
setne dh
or dh, dl
je 0x4524b4
push eax
push ecx
push ebx
call fcn.00528780
add esp, 0xc
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.00452950
add esp, 8
cmp byte [ebp - 0xc9], 0
jns 0x4517c7
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
add esi, 0xc
cmp esi, edi
jne 0x45176f
lea eax, [ebp + 8]
mov ebx, dword [eax]
movsx eax, byte [ebx + 0x17]
test eax, eax
mov edi, ebx
jns 0x4517e0
mov eax, dword [edi + 0x10]
test eax, eax
je 0x451868
lea eax, [ebp - 0x114]
mov byte [eax + 3], 8
mov ecx, str.database
lea edx, [ebp - 0x11c]
cmp edx, ecx
seta dl
cmp eax, ecx
setbe al
or al, dl
je 0x4524ba
lea eax, [edi + 0xc]
lea edx, [ebp - 0x11c]
mov dword [edx + 4], 0x65736162
mov dword [edx], 0x61746164
mov byte [edx + 8], 0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
call fcn.00452b00
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.00452950
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x45185b
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x111], 0
js 0x452566
movsx eax, byte [edi + 0x23]
test eax, eax
jns 0x451873
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x451928
push 0x10
call fcn.00562f65
add esp, 4
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x114], 0x80000010
mov dword [ebp - 0x118], 0xb
lea ecx, [eax + 0xb]
mov edx, str.metrics_dir
cmp eax, edx
seta bl
cmp ecx, edx
setbe cl
or cl, bl
je 0x4524bd
mov ebx, edi
add edi, 0x18
mov ecx, dword [0x63452d]
mov dword [eax + 7], ecx
movq xmm0, qword [str.metrics_dir]
movq qword [eax], xmm0
mov byte [eax + 0xb], 0
lea esi, [ebp - 0xd4]
lea edx, [ebp - 0x11c]
mov ecx, esi
push edi
call fcn.00452b00
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.00452950
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x45190f
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x111], 0
jns 0x451926
push dword [ebp - 0x11c]
call fcn.00562f60
add esp, 4
mov edi, ebx
movsx eax, byte [edi + 0x2f]
test eax, eax
jns 0x4524c0
mov eax, dword [edi + 0x28]
test eax, eax
je 0x4519fe
js 0x4524d0
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x4524d3
mov ebx, edi
lea edi, [ebp - 0x11c]
push eax
push ecx
push edi
call fcn.00528780
add esp, 0xc
lea eax, [ebp - 0x129]
mov byte [eax + 8], 3
mov ecx, 0x625bd7
lea edx, [ebp - 0x12c]
cmp edx, ecx
seta dl
cmp eax, ecx
setbe al
or al, dl
je 0x4524d6
mov al, byte [0x625bd9]
lea edx, [ebp - 0x12c]
mov byte [edx + 2], al
movzx eax, word [0x625bd7]
mov word [edx], ax
mov byte [edx + 3], 0
lea esi, [ebp - 0xd4]
mov ecx, esi
push edi
call fcn.00452b00
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.00452950
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x4519d8
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x121], 0
mov edi, ebx
js 0x452579
cmp byte [ebp - 0x111], 0
jns 0x4519fe
push dword [ebp - 0x11c]
call fcn.00562f60
add esp, 4
mov esi, dword [edi + 0x30]
add edi, 0x34
cmp esi, edi
je 0x451c4f
mov eax, str.annotation
lea ecx, [ebp - 0x34]
cmp ecx, eax
setbe cl
lea edx, [ebp - 0x2a]
cmp edx, eax
seta al
and al, cl
mov byte [ebp - 0x148], al
mov dword [ebp - 0x140], edi
jmp 0x451a75
mov edi, ebx
or edi, 7
inc edi
push edi
mov dword [ebp - 0x14c], edx
mov esi, ecx
call fcn.00562f65
mov ecx, esi
mov edx, dword [ebp - 0x14c]
add esp, 4
mov esi, eax
or edi, 0x80000000
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
jmp 0x451abe
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x451a63
mov esi, eax
cmp eax, edi
je 0x451c4f
movsx ecx, byte [esi + 0x1b]
mov edx, ecx
test ecx, ecx
jns 0x451a82
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x13c], esi
xor eax, eax
dec eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea ebx, [edx + 1]
cmp ebx, 0x7ffffff8
jae 0x452482
cmp ebx, 0xa
ja 0x451a31
pxor xmm0, xmm0
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x1d], bl
lea esi, [ebp - 0x28]
mov ebx, dword [ebp - 0x13c]
lea eax, [ebx + 0x10]
test cl, cl
jns 0x451acd
mov eax, dword [eax]
cmp eax, esi
jb 0x451adc
lea ecx, [esi + edx]
cmp ecx, eax
ja 0x4524ae
test edx, edx
je 0x451aef
push edx
push eax
push esi
mov edi, edx
call fcn.00567460
mov edx, edi
add esp, 0xc
mov word [esi + edx], 0x3d
movsx eax, byte [ebx + 0x27]
test eax, eax
mov edi, dword [ebp - 0x140]
js 0x451b08
lea edx, [ebx + 0x1c]
jmp 0x451b0e
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea esi, [ebp - 0x11c]
lea ecx, [ebp - 0x28]
push eax
push edx
call fcn.0050e880
mov ecx, dword [eax + 8]
mov dword [ebp - 0x124], ecx
movsd xmm0, qword [eax]
movsd qword [ebp - 0x12c], xmm0
xorps xmm0, xmm0
movsd qword [eax], xmm0
mov dword [eax + 8], 0
movsx eax, byte [ebp - 0x121]
test eax, eax
cmovs eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x12c]
lea edx, [ebp - 0x12c]
cmovns ecx, edx
test eax, eax
js 0x452485
sete dl
test ecx, ecx
setne dh
or dh, dl
je 0x452488
mov ebx, esi
mov esi, edi
push eax
push ecx
push ebx
call fcn.00528780
add esp, 0xc
mov byte [ebp - 0x29], 0xa
cmp byte [ebp - 0x148], 0
jne 0x45248b
movzx eax, word [0x634518]
mov word [ebp - 0x2c], ax
movq xmm0, qword [str.annotation]
movq qword [ebp - 0x34], xmm0
mov byte [ebp - 0x2a], 0
lea edi, [ebp - 0xd4]
mov ecx, edi
lea edx, [ebp - 0x34]
push ebx
call fcn.00452b00
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.00452950
add esp, 8
cmp byte [ebp - 0xc9], 0
jns 0x451bec
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x29], 0
mov edi, esi
mov esi, dword [ebp - 0x13c]
js 0x45248e
cmp byte [ebp - 0x111], 0
jns 0x451c15
push dword [ebp - 0x11c]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x121], 0
jns 0x451c2c
push dword [ebp - 0x12c]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x1d], 0
js 0x45249e
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x451a63
mov eax, dword [esi + 8]
cmp dword [eax], esi
mov esi, eax
jne 0x451c41
jmp 0x451a6b
lea eax, [ebp + 8]
mov edi, dword [eax]
mov esi, dword [edi + 0x48]
mov ebx, dword [edi + 0x4c]
cmp esi, ebx
jne 0x4527fe
xor eax, eax
dec eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 1
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x28], 0x621a3c
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0
test eax, eax
je 0x4527b2
xor ecx, ecx
lea esi, [ebp - 0x12c]
push ecx
push 0x657ca0
push ecx
push 0x657c94
push ecx
push 0x657c88
push eax
push dword [edi + 0x64]
push dword [0x647180]
push dword [0x64717c]
push dword [0x647174]
push str.0x_x_0x_x_0x_x_0x_x_0x_x_0x_llx_0x_llx_0x_llx
push esi
call fcn.00528450
add esp, 0x34
push 0x18
call fcn.00562f65
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0x80000018
mov dword [ebp - 0x30], 0x16
lea ecx, [eax + 0x16]
mov edx, str.__initial_client_data
cmp eax, edx
seta bl
cmp ecx, edx
setbe cl
or cl, bl
je 0x4524d9
movsd xmm0, qword [0x637af4]
movsd qword [eax + 0xe], xmm0
movups xmm0, xmmword [str.__initial_client_data]
movups xmmword [eax], xmm0
movsx edx, byte [ebp - 0x121]
test edx, edx
cmovs edx, dword [ebp - 0x128]
mov byte [eax + 0x16], 0
mov eax, dword [ebp - 0x12c]
cmovns eax, esi
lea ecx, [ebp - 0x34]
push edx
push eax
call fcn.0050e880
mov ecx, dword [eax + 8]
lea edx, [ebp - 0x11c]
mov dword [edx + 8], ecx
movq xmm0, qword [eax]
movq qword [edx], xmm0
pxor xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 8], 0
movsx eax, byte [edx + 0xb]
test eax, eax
cmovs eax, dword [edx + 4]
mov ecx, dword [edx]
cmovns ecx, edx
test eax, eax
js 0x4524dc
sete dl
test ecx, ecx
setne dh
or dh, dl
je 0x4524df
mov ebx, esi
lea esi, [ebp - 0xd4]
push eax
push ecx
push esi
call fcn.00528780
add esp, 0xc
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.00452950
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x451dc7
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x111], 0
jns 0x451dde
push dword [ebp - 0x11c]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x29], 0
js 0x45258c
cmp byte [ebp - 0x121], 0
jns 0x451dff
push dword [ebp - 0x12c]
call fcn.00562f60
add esp, 4
pxor xmm0, xmm0
movdqu xmmword [ebp - 0xfc], xmm0
xorps xmm1, xmm1
movsd qword [ebp - 0xdc], xmm1
movdqu xmmword [ebp - 0xec], xmm0
movdqu xmmword [ebp - 0x10c], xmm0
movdqu xmmword [ebp - 0x11c], xmm0
mov dword [ebp - 0xf0], 0x100
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff6
call esi
mov dword [ebp - 0xe4], eax
push 0xfffffffffffffff5
call esi
mov dword [ebp - 0xe0], eax
push 0xfffffffffffffff4
call esi
mov dword [ebp - 0xdc], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov eax, dword [0x657cc4]
mov ecx, dword [0x64784c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x451ecb
push 0x657cc4
call fcn.00562fa8
add esp, 4
cmp dword [0x657cc4], 0xffffffff
jne 0x451ecb
push 0x62339e
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x4524e2
push 0x637aff
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x657cc0], eax
push 0x657cc4
call fcn.00562ff7
add esp, 4
mov eax, dword [0x657ccc]
mov ecx, dword [0x64784c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x451f39
push 0x657ccc
call fcn.00562fa8
add esp, 4
cmp dword [0x657ccc], 0xffffffff
jne 0x451f39
xor esi, esi
cmp dword [0x657cc0], 0
je 0x451f26
push 0x62339e
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x451f26
push 0x637b23
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov dword [0x657cc8], esi
push 0x657ccc
call fcn.00562ff7
add esp, 4
mov ecx, dword [0x657cc0]
test ecx, ecx
je 0x452507
cmp dword [0x657cc8], 0
je 0x452507
mov dword [ebp - 0x11c], 0x48
mov dword [ebp - 0x12c], 0xffffffff
call dword [0x63e19c]
xor eax, eax
push ebx
push eax
push 1
push eax
call ecx
test eax, eax
jne 0x4525fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4525a6
push dword [ebp - 0x12c]
call fcn.005648ee
add esp, 4
mov esi, eax
mov dword [ebp - 0xd8], eax
mov ecx, dword [0x657cc0]
call dword [0x63e19c]
push ebx
push 0
push 1
push esi
call ecx
test eax, eax
mov dword [ebp - 0x140], esi
je 0x452653
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
mov eax, edx
mov dword [ebp - 0x148], ecx
sub eax, ecx
cmp eax, 0x1f
ja 0x45247a
mov ebx, dword [ebp - 0x30]
push 0x20
call fcn.00562f65
add esp, 4
mov edi, eax
lea edx, [eax + 0x20]
mov eax, dword [ebp - 0x148]
sub ebx, eax
lea esi, [edi + ebx]
jne 0x45286c
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edx
test eax, eax
jne 0x45246e
cmp esi, edx
jae 0x452717
test esi, esi
je 0x4524e9
mov eax, dword [0x647174]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x2c]
jae 0x45272b
test esi, esi
je 0x4524ec
mov eax, dword [0x64717c]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x2c]
jae 0x45273f
test esi, esi
je 0x4524ef
mov eax, dword [0x647180]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
lea eax, [ebp + 8]
mov eax, dword [eax]
add eax, 0x64
cmp esi, dword [ebp - 0x2c]
jae 0x452753
test esi, esi
je 0x4524f2
mov eax, dword [eax]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x2c]
jae 0x45279f
test esi, esi
je 0x4524f5
mov eax, dword [ebp - 0x24]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xd4], esi
lea eax, [esi + 1]
cmp eax, 2
jb 0x452106
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
and eax, 0xfffffffd
cmp eax, 1
jne 0x452106
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
jmp 0x4520e9
cmp dword [ecx], esi
je 0x452106
add ecx, 4
cmp ecx, eax
jne 0x4520e2
cmp eax, dword [ebp - 0x2c]
jae 0x452763
test eax, eax
je 0x4524f8
mov dword [eax], esi
add eax, 4
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], esi
lea eax, [esi + 1]
cmp eax, 2
jb 0x452155
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
and eax, 0xfffffffd
cmp eax, 1
jne 0x452155
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
jmp 0x452138
cmp dword [ecx], esi
je 0x452155
add ecx, 4
cmp ecx, eax
jne 0x452131
cmp eax, dword [ebp - 0x2c]
jae 0x452777
test eax, eax
je 0x4524fb
mov dword [eax], esi
add eax, 4
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], esi
lea eax, [esi + 1]
cmp eax, 2
jb 0x4521a4
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
and eax, 0xfffffffd
cmp eax, 1
jne 0x4521a4
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
jmp 0x452187
cmp dword [ecx], esi
je 0x4521a4
add ecx, 4
cmp ecx, eax
jne 0x452180
cmp eax, dword [ebp - 0x2c]
jae 0x45278b
test eax, eax
je 0x4524fe
mov dword [eax], esi
add eax, 4
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
sub edi, esi
je 0x452501
mov ecx, dword [0x657cc8]
mov ebx, dword [ebp - 0xd8]
call dword [0x63e19c]
xor eax, eax
push eax
push eax
push edi
push esi
push 0x20002
push eax
push ebx
call ecx
test eax, eax
je 0x452694
lea eax, [ebp + 8]
mov edi, dword [eax]
mov ebx, 0x80000
lea esi, [ebp - 0xd4]
movsx eax, byte [edi + 0xb]
test eax, eax
jns 0x45252c
mov eax, dword [edi + 4]
cmp eax, 0xc
jb 0x452534
add eax, 0xfffffff4
mov ecx, esi
lea edx, [ebp - 0x12c]
push edx
push 0xffffffffffffffff
push eax
push edi
call fcn.0053d730
cmp byte [ebp - 0xc9], 0
jns 0x452227
mov esi, dword [ebp - 0xd4]
push str.rundll32.exe
push esi
call fcn.0056538e
add esp, 8
mov esi, eax
cmp byte [ebp - 0xc9], 0
jns 0x45224e
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x11], 0
jns 0x45225d
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x144], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x12c], xmm0
test esi, esi
je 0x452559
lea edx, [ebp - 0x11c]
cmp byte [edi + 0xb], 0
jns 0x45227f
mov edi, dword [edi]
xor eax, eax
lea ecx, [ebp - 0x12c]
push ecx
push edx
push eax
push eax
push ebx
push 1
push eax
push eax
push dword [ebp - 0x144]
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4526e0
push dword [ebp - 0x128]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x64a79c], 1
jg 0x4522cb
cmp dword [0x6460b4], 0
je 0x4522cb
test eax, eax
je 0x4528c9
push dword [ebp - 0x12c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x64a79c], 1
jg 0x4522f1
cmp dword [0x6460b4], 0
je 0x4522f1
test eax, eax
je 0x45290a
lea eax, [ebp + 8]
mov esi, dword [eax]
mov eax, dword [esi + 0x64]
cmp eax, 0xffffffff
je 0x45230f
push eax
call fcn.0044c4c0
add esp, 4
test al, al
je 0x45259c
mov dword [esi + 0x64], 0xffffffff
pxor xmm0, xmm0
lea eax, [ebp - 0xd4]
movdqu xmmword [eax + 0x14], xmm0
movdqu xmmword [eax + 4], xmm0
mov dword [eax], 2
pxor xmm0, xmm0
lea ecx, [ebp - 0x138]
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
add esi, 0x54
push ecx
push eax
push esi
call fcn.0041dc80
add esp, 0xc
mov ebx, eax
mov esi, dword [ebp - 0x13c]
test esi, esi
je 0x4523d2
mov eax, dword [0x657cd4]
mov ecx, dword [0x64784c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x4523c3
push 0x657cd4
call fcn.00562fa8
add esp, 4
cmp dword [0x657cd4], 0xffffffff
jne 0x4523c3
push 0x62339e
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x45259f
push 0x637c39
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x657cd0], eax
push 0x657cd4
call fcn.00562ff7
add esp, 4
mov ecx, dword [0x657cd0]
call dword [0x63e19c]
push esi
call ecx
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x4523e5
push eax
call fcn.0056477d
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4523ff
mov ecx, dword [ebp - 0x30]
cmp ecx, eax
jne 0x452466
mov dword [ebp - 0x30], eax
push eax
call fcn.00562f60
add esp, 4
mov dword [ebp - 0x28], 0x621a3c
cmp byte [ebp - 0x20], 1
je 0x452504
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x452426
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x452886
cmp byte [ebp - 0x11], 0
jns 0x452437
push dword [ebp - 0x1c]
call fcn.00562f60
add esp, 4
movzx eax, bl
mov ecx, 2
sub ecx, eax
mov dword [0x657cbc], ecx
lea ecx, [ebp + 8]
call fcn.00452c70
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00566245
mov eax, ebx
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret
add ecx, 0xfffffffc
jne 0x4523ef
int3
push eax
call fcn.00562f60
add esp, 4
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
jmp 0x45201f
int3
int3
int3
int3
push dword [ebp - 0x34]
call fcn.00562f60
add esp, 4
jmp 0x451bfe
push dword [ebp - 0x28]
call fcn.00562f60
add esp, 4
jmp 0x451c36
int3
int3
int3
int3
int3
int3
test al, al
je 0x4519fe
lea ecx, [edi + 0x24]
jmp 0x451948
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x451eb9
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov dword [ebp - 0x11c], 0x44
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x140], 0
xor ebx, ebx
jmp 0x4521e5
cmp al, 0xc
jae 0x452203
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x12c], xmm0
cmp byte [ebp - 0x11], 0
js 0x45254b
lea eax, [ebp - 0x1c]
jmp 0x45254e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x144], eax
jmp 0x452271
xor edi, edi
lea edx, [ebp - 0x11c]
jmp 0x45227f
push dword [ebp - 0x11c]
call fcn.00562f60
add esp, 4
jmp 0x451868
push dword [ebp - 0x12c]
call fcn.00562f60
add esp, 4
jmp 0x4519e7
push dword [ebp - 0x34]
call fcn.00562f60
add esp, 4
jmp 0x451de8
int3
xor eax, eax
jmp 0x4523b1
mov dword [ebp - 0x13c], 0
cmp dword [0x64a79c], 2
jg 0x452644
call fcn.004f27a0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x1dc
push str.crashpad_client_win.cc
call fcn.00417d50
lea eax, [ebp - 0xcc]
push 0x28
push str.InitializeProcThreadAttributeList__size_
push eax
call fcn.00538270
add esp, 0xc
mov ecx, esi
call fcn.00416650
jmp 0x452644
mov dword [ebp - 0x13c], 0
cmp dword [0x64a79c], 2
jg 0x452644
lea esi, [ebp - 0xd4]
mov ecx, esi
push 2
push 0x1d8
push str.crashpad_client_win.cc
call fcn.0040b160
lea eax, [ebp - 0xcc]
push 0x44
push str.InitializeProcThreadAttributeList__size__succeeded__expected_failure
push eax
call fcn.00538270
add esp, 0xc
mov ecx, esi
call fcn.0040a930
mov dword [ebp - 0x140], 0
jmp 0x4526d9
mov dword [ebp - 0x13c], 0
cmp dword [0x64a79c], 2
jg 0x4526d9
call fcn.004f27a0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x1e7
push str.crashpad_client_win.cc
call fcn.00417d50
lea eax, [ebp - 0xcc]
push 0x21
push 0x637bab
jmp 0x4526c9
cmp dword [0x64a79c], 2
jg 0x4526d9
call fcn.004f27a0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x201
push str.crashpad_client_win.cc
call fcn.00417d50
lea eax, [ebp - 0xcc]
push 0x19
push 0x637bcd
push eax
call fcn.00538270
add esp, 0xc
mov ecx, esi
call fcn.00416650
xor ebx, ebx
jmp 0x452355
cmp dword [0x64a79c], 2
jg 0x4526d9
call fcn.004f27a0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x223
push str.crashpad_client_win.cc
call fcn.00417d50
lea eax, [ebp - 0xcc]
push 0xd
push str.CreateProcess
jmp 0x4526c9
lea ecx, [ebp - 0x34]
push 0x647174
call fcn.00457480
mov esi, eax
jmp 0x452039
lea ecx, [ebp - 0x34]
push 0x64717c
call fcn.00457480
mov esi, eax
jmp 0x452057
lea ecx, [ebp - 0x34]
push 0x647180
call fcn.00457480
mov esi, eax
jmp 0x452075
lea ecx, [ebp - 0x34]
push eax
call fcn.00457480
mov esi, eax
jmp 0x452098
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457480
jmp 0x452103
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457480
jmp 0x452152
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457480
jmp 0x4521a1
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457480
mov esi, eax
jmp 0x4520b4
cmp dword [0x64a79c], 2
jg 0x4527f7
call fcn.004f27a0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x1a7
push str.crashpad_client_win.cc
call fcn.00417d50
lea eax, [ebp - 0xcc]
push 0xb
push 0x637ada
push eax
call fcn.00538270
add esp, 0xc
mov ecx, esi
call fcn.00416650
xor ebx, ebx
jmp 0x4523ff
lea ecx, [ebp - 0x11c]
push 0x63451b
call fcn.005370e0
lea ecx, [ebp - 0xd4]
lea edx, [ebp - 0x11c]
push esi
call fcn.00452b00
add esp, 4
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00452950
add esp, 8
cmp byte [ebp - 0xc9], 0
jns 0x45284d
push dword [ebp - 0xd4]
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x111], 0
jns 0x452864
push dword [ebp - 0x11c]
call fcn.00562f60
add esp, 4
add esi, 0xc
jmp 0x451c5a
push ebx
push eax
push edi
mov ebx, edx
call fcn.00567460
mov edx, ebx
mov eax, dword [ebp - 0x148]
add esp, 0xc
jmp 0x45200e
lea edi, [ebp - 0xd4]
push 0x1e
push str.scoped_handle.cc
push str.Free
push edi
call fcn.0050b5e0
add esp, 0x10
lea esi, [ebp - 0x11c]
push edi
push esi
call fcn.005bb200
add esp, 8
mov ecx, esi
push 0x62651b
call fcn.005d7b80
mov ecx, esi
call fcn.005907d0
jmp 0x452426
call fcn.004f27a0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 1
push 0x228
push str.crashpad_client_win.cc
call fcn.00417d50
lea eax, [ebp - 0xcc]
push 0x12
push str.CloseHandle_thread
push eax
call fcn.00538270
add esp, 0xc
mov ecx, esi
call fcn.00416650
jmp 0x4522cb
call fcn.004f27a0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 1
push 0x22b
push str.crashpad_client_win.cc
call fcn.00417d50
lea eax, [ebp - 0xcc]
push 0x13
push str.CloseHandle_process
push eax
call fcn.00538270
add esp, 0xc
mov ecx, esi
call fcn.00416650
jmp 0x4522f1