Function at 0x451580
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 0x452337
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.004527d0
add esp, 8
mov esi, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x40]
cmp esi, edi
je 0x451653
lea ebx, [ebp - 0xd4]
movsx eax, byte [esi + 0xb]
mov ecx, esi
test eax, eax
jns 0x451606
mov eax, dword [esi + 4]
test eax, eax
js 0x452331
mov ecx, dword [esi]
test eax, eax
sete dl
test ecx, ecx
setne dh
or dh, dl
je 0x452334
push eax
push ecx
push ebx
call fcn.005284a0
add esp, 0xc
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.004527d0
add esp, 8
cmp byte [ebp - 0xc9], 0
jns 0x451647
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
add esi, 0xc
cmp esi, edi
jne 0x4515ef
lea eax, [ebp + 8]
mov ebx, dword [eax]
movsx eax, byte [ebx + 0x17]
test eax, eax
mov edi, ebx
jns 0x451660
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4516e8
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 0x45233a
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.00452980
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.004527d0
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x4516db
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x111], 0
js 0x4523e6
movsx eax, byte [edi + 0x23]
test eax, eax
jns 0x4516f3
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4517a8
push 0x10
call fcn.00562bc5
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 0x45233d
mov ebx, edi
add edi, 0x18
mov ecx, dword [0x6343dd]
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.00452980
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.004527d0
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x45178f
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x111], 0
jns 0x4517a6
push dword [ebp - 0x11c]
call fcn.00562bc0
add esp, 4
mov edi, ebx
movsx eax, byte [edi + 0x2f]
test eax, eax
jns 0x452340
mov eax, dword [edi + 0x28]
test eax, eax
je 0x45187e
js 0x452350
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x452353
mov ebx, edi
lea edi, [ebp - 0x11c]
push eax
push ecx
push edi
call fcn.005284a0
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 0x452356
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.00452980
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.004527d0
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x451858
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x121], 0
mov edi, ebx
js 0x4523f9
cmp byte [ebp - 0x111], 0
jns 0x45187e
push dword [ebp - 0x11c]
call fcn.00562bc0
add esp, 4
mov esi, dword [edi + 0x30]
add edi, 0x34
cmp esi, edi
je 0x451acf
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 0x4518f5
mov edi, ebx
or edi, 7
inc edi
push edi
mov dword [ebp - 0x14c], edx
mov esi, ecx
call fcn.00562bc5
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 0x45193e
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4518e3
mov esi, eax
cmp eax, edi
je 0x451acf
movsx ecx, byte [esi + 0x1b]
mov edx, ecx
test ecx, ecx
jns 0x451902
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 0x452302
cmp ebx, 0xa
ja 0x4518b1
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 0x45194d
mov eax, dword [eax]
cmp eax, esi
jb 0x45195c
lea ecx, [esi + edx]
cmp ecx, eax
ja 0x45232e
test edx, edx
je 0x45196f
push edx
push eax
push esi
mov edi, edx
call fcn.005670c0
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 0x451988
lea edx, [ebx + 0x1c]
jmp 0x45198e
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea esi, [ebp - 0x11c]
lea ecx, [ebp - 0x28]
push eax
push edx
call fcn.0050e5a0
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 0x452305
sete dl
test ecx, ecx
setne dh
or dh, dl
je 0x452308
mov ebx, esi
mov esi, edi
push eax
push ecx
push ebx
call fcn.005284a0
add esp, 0xc
mov byte [ebp - 0x29], 0xa
cmp byte [ebp - 0x148], 0
jne 0x45230b
movzx eax, word [0x6343c8]
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.00452980
add esp, 4
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.004527d0
add esp, 8
cmp byte [ebp - 0xc9], 0
jns 0x451a6c
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x29], 0
mov edi, esi
mov esi, dword [ebp - 0x13c]
js 0x45230e
cmp byte [ebp - 0x111], 0
jns 0x451a95
push dword [ebp - 0x11c]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x121], 0
jns 0x451aac
push dword [ebp - 0x12c]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x1d], 0
js 0x45231e
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4518e3
mov eax, dword [esi + 8]
cmp dword [eax], esi
mov esi, eax
jne 0x451ac1
jmp 0x4518eb
lea eax, [ebp + 8]
mov edi, dword [eax]
mov esi, dword [edi + 0x48]
mov ebx, dword [edi + 0x4c]
cmp esi, ebx
jne 0x45267e
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 0x452632
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.00528170
add esp, 0x34
push 0x18
call fcn.00562bc5
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 0x452359
movsd xmm0, qword [0x637b12]
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.0050e5a0
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 0x45235c
sete dl
test ecx, ecx
setne dh
or dh, dl
je 0x45235f
mov ebx, esi
lea esi, [ebp - 0xd4]
push eax
push ecx
push esi
call fcn.005284a0
add esp, 0xc
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.004527d0
add esp, 8
cmp byte [esi + 0xb], 0
jns 0x451c47
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x111], 0
jns 0x451c5e
push dword [ebp - 0x11c]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x29], 0
js 0x45240c
cmp byte [ebp - 0x121], 0
jns 0x451c7f
push dword [ebp - 0x12c]
call fcn.00562bc0
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 0x451d4b
push 0x657cc4
call fcn.00562c08
add esp, 4
cmp dword [0x657cc4], 0xffffffff
jne 0x451d4b
push 0x62339e
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x452362
push 0x637b1d
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x657cc0], eax
push 0x657cc4
call fcn.00562c57
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 0x451db9
push 0x657ccc
call fcn.00562c08
add esp, 4
cmp dword [0x657ccc], 0xffffffff
jne 0x451db9
xor esi, esi
cmp dword [0x657cc0], 0
je 0x451da6
push 0x62339e
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x451da6
push 0x637b41
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov dword [0x657cc8], esi
push 0x657ccc
call fcn.00562c57
add esp, 4
mov ecx, dword [0x657cc0]
test ecx, ecx
je 0x452387
cmp dword [0x657cc8], 0
je 0x452387
mov dword [ebp - 0x11c], 0x48
mov dword [ebp - 0x12c], 0xffffffff
call dword [0x63e1bc]
xor eax, eax
push ebx
push eax
push 1
push eax
call ecx
test eax, eax
jne 0x45247b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x452426
push dword [ebp - 0x12c]
call fcn.0056454e
add esp, 4
mov esi, eax
mov dword [ebp - 0xd8], eax
mov ecx, dword [0x657cc0]
call dword [0x63e1bc]
push ebx
push 0
push 1
push esi
call ecx
test eax, eax
mov dword [ebp - 0x140], esi
je 0x4524d3
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 0x4522fa
mov ebx, dword [ebp - 0x30]
push 0x20
call fcn.00562bc5
add esp, 4
mov edi, eax
lea edx, [eax + 0x20]
mov eax, dword [ebp - 0x148]
sub ebx, eax
lea esi, [edi + ebx]
jne 0x4526ec
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edx
test eax, eax
jne 0x4522ee
cmp esi, edx
jae 0x452597
test esi, esi
je 0x452369
mov eax, dword [0x647174]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x2c]
jae 0x4525ab
test esi, esi
je 0x45236c
mov eax, dword [0x64717c]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x2c]
jae 0x4525bf
test esi, esi
je 0x45236f
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 0x4525d3
test esi, esi
je 0x452372
mov eax, dword [eax]
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x2c]
jae 0x45261f
test esi, esi
je 0x452375
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 0x451f86
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
and eax, 0xfffffffd
cmp eax, 1
jne 0x451f86
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
jmp 0x451f69
cmp dword [ecx], esi
je 0x451f86
add ecx, 4
cmp ecx, eax
jne 0x451f62
cmp eax, dword [ebp - 0x2c]
jae 0x4525e3
test eax, eax
je 0x452378
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 0x451fd5
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
and eax, 0xfffffffd
cmp eax, 1
jne 0x451fd5
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
jmp 0x451fb8
cmp dword [ecx], esi
je 0x451fd5
add ecx, 4
cmp ecx, eax
jne 0x451fb1
cmp eax, dword [ebp - 0x2c]
jae 0x4525f7
test eax, eax
je 0x45237b
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 0x452024
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
and eax, 0xfffffffd
cmp eax, 1
jne 0x452024
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
jmp 0x452007
cmp dword [ecx], esi
je 0x452024
add ecx, 4
cmp ecx, eax
jne 0x452000
cmp eax, dword [ebp - 0x2c]
jae 0x45260b
test eax, eax
je 0x45237e
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 0x452381
mov ecx, dword [0x657cc8]
mov ebx, dword [ebp - 0xd8]
call dword [0x63e1bc]
xor eax, eax
push eax
push eax
push edi
push esi
push 0x20002
push eax
push ebx
call ecx
test eax, eax
je 0x452514
lea eax, [ebp + 8]
mov edi, dword [eax]
mov ebx, 0x80000
lea esi, [ebp - 0xd4]
movsx eax, byte [edi + 0xb]
test eax, eax
jns 0x4523ac
mov eax, dword [edi + 4]
cmp eax, 0xc
jb 0x4523b4
add eax, 0xfffffff4
mov ecx, esi
lea edx, [ebp - 0x12c]
push edx
push 0xffffffffffffffff
push eax
push edi
call fcn.0053def0
cmp byte [ebp - 0xc9], 0
jns 0x4520a7
mov esi, dword [ebp - 0xd4]
push str.rundll32.exe
push esi
call fcn.00564feb
add esp, 8
mov esi, eax
cmp byte [ebp - 0xc9], 0
jns 0x4520ce
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x11], 0
jns 0x4520dd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x144], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x12c], xmm0
test esi, esi
je 0x4523d9
lea edx, [ebp - 0x11c]
cmp byte [edi + 0xb], 0
jns 0x4520ff
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 0x452560
push dword [ebp - 0x128]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x64a79c], 1
jg 0x45214b
cmp dword [0x6460b4], 0
je 0x45214b
test eax, eax
je 0x452749
push dword [ebp - 0x12c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x64a79c], 1
jg 0x452171
cmp dword [0x6460b4], 0
je 0x452171
test eax, eax
je 0x45278a
lea eax, [ebp + 8]
mov esi, dword [eax]
mov eax, dword [esi + 0x64]
cmp eax, 0xffffffff
je 0x45218f
push eax
call fcn.0044be70
add esp, 4
test al, al
je 0x45241c
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.004207e0
add esp, 0xc
mov ebx, eax
mov esi, dword [ebp - 0x13c]
test esi, esi
je 0x452252
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 0x452243
push 0x657cd4
call fcn.00562c08
add esp, 4
cmp dword [0x657cd4], 0xffffffff
jne 0x452243
push 0x62339e
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x45241f
push 0x637c57
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x657cd0], eax
push 0x657cd4
call fcn.00562c57
add esp, 4
mov ecx, dword [0x657cd0]
call dword [0x63e1bc]
push esi
call ecx
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x452265
push eax
call fcn.005643dd
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x45227f
mov ecx, dword [ebp - 0x30]
cmp ecx, eax
jne 0x4522e6
mov dword [ebp - 0x30], eax
push eax
call fcn.00562bc0
add esp, 4
mov dword [ebp - 0x28], 0x621a3c
cmp byte [ebp - 0x20], 1
je 0x452384
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4522a6
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x452706
cmp byte [ebp - 0x11], 0
jns 0x4522b7
push dword [ebp - 0x1c]
call fcn.00562bc0
add esp, 4
movzx eax, bl
mov ecx, 2
sub ecx, eax
mov dword [0x657cbc], ecx
lea ecx, [ebp + 8]
call fcn.00452af0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00565ea5
mov eax, ebx
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret
add ecx, 0xfffffffc
jne 0x45226f
int3
push eax
call fcn.00562bc0
add esp, 4
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
jmp 0x451e9f
int3
int3
int3
int3
push dword [ebp - 0x34]
call fcn.00562bc0
add esp, 4
jmp 0x451a7e
push dword [ebp - 0x28]
call fcn.00562bc0
add esp, 4
jmp 0x451ab6
int3
int3
int3
int3
int3
int3
test al, al
je 0x45187e
lea ecx, [edi + 0x24]
jmp 0x4517c8
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x451d39
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 0x452065
cmp al, 0xc
jae 0x452083
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x12c], xmm0
cmp byte [ebp - 0x11], 0
js 0x4523cb
lea eax, [ebp - 0x1c]
jmp 0x4523ce
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x144], eax
jmp 0x4520f1
xor edi, edi
lea edx, [ebp - 0x11c]
jmp 0x4520ff
push dword [ebp - 0x11c]
call fcn.00562bc0
add esp, 4
jmp 0x4516e8
push dword [ebp - 0x12c]
call fcn.00562bc0
add esp, 4
jmp 0x451867
push dword [ebp - 0x34]
call fcn.00562bc0
add esp, 4
jmp 0x451c68
int3
xor eax, eax
jmp 0x452231
mov dword [ebp - 0x13c], 0
cmp dword [0x64a79c], 2
jg 0x4524c4
call fcn.004f27f0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x1dc
push str.crashpad_client_win.cc
call fcn.0045af70
lea eax, [ebp - 0xcc]
push 0x28
push str.InitializeProcThreadAttributeList__size_
push eax
call fcn.00538a30
add esp, 0xc
mov ecx, esi
call fcn.0044fb10
jmp 0x4524c4
mov dword [ebp - 0x13c], 0
cmp dword [0x64a79c], 2
jg 0x4524c4
lea esi, [ebp - 0xd4]
mov ecx, esi
push 2
push 0x1d8
push str.crashpad_client_win.cc
call fcn.0040b630
lea eax, [ebp - 0xcc]
push 0x44
push str.InitializeProcThreadAttributeList__size__succeeded__expected_failure
push eax
call fcn.00538a30
add esp, 0xc
mov ecx, esi
call fcn.0040ae00
mov dword [ebp - 0x140], 0
jmp 0x452559
mov dword [ebp - 0x13c], 0
cmp dword [0x64a79c], 2
jg 0x452559
call fcn.004f27f0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x1e7
push str.crashpad_client_win.cc
call fcn.0045af70
lea eax, [ebp - 0xcc]
push 0x21
push 0x637bc9
jmp 0x452549
cmp dword [0x64a79c], 2
jg 0x452559
call fcn.004f27f0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x201
push str.crashpad_client_win.cc
call fcn.0045af70
lea eax, [ebp - 0xcc]
push 0x19
push 0x637beb
push eax
call fcn.00538a30
add esp, 0xc
mov ecx, esi
call fcn.0044fb10
xor ebx, ebx
jmp 0x4521d5
cmp dword [0x64a79c], 2
jg 0x452559
call fcn.004f27f0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x223
push str.crashpad_client_win.cc
call fcn.0045af70
lea eax, [ebp - 0xcc]
push 0xd
push str.CreateProcess
jmp 0x452549
lea ecx, [ebp - 0x34]
push 0x647174
call fcn.00457310
mov esi, eax
jmp 0x451eb9
lea ecx, [ebp - 0x34]
push 0x64717c
call fcn.00457310
mov esi, eax
jmp 0x451ed7
lea ecx, [ebp - 0x34]
push 0x647180
call fcn.00457310
mov esi, eax
jmp 0x451ef5
lea ecx, [ebp - 0x34]
push eax
call fcn.00457310
mov esi, eax
jmp 0x451f18
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457310
jmp 0x451f83
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457310
jmp 0x451fd2
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457310
jmp 0x452021
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x34]
push eax
call fcn.00457310
mov esi, eax
jmp 0x451f34
cmp dword [0x64a79c], 2
jg 0x452677
call fcn.004f27f0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 2
push 0x1a7
push str.crashpad_client_win.cc
call fcn.0045af70
lea eax, [ebp - 0xcc]
push 0xb
push 0x637af8
push eax
call fcn.00538a30
add esp, 0xc
mov ecx, esi
call fcn.0044fb10
xor ebx, ebx
jmp 0x45227f
lea ecx, [ebp - 0x11c]
push 0x6343cb
call fcn.005378a0
lea ecx, [ebp - 0xd4]
lea edx, [ebp - 0x11c]
push esi
call fcn.00452980
add esp, 4
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.004527d0
add esp, 8
cmp byte [ebp - 0xc9], 0
jns 0x4526cd
push dword [ebp - 0xd4]
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x111], 0
jns 0x4526e4
push dword [ebp - 0x11c]
call fcn.00562bc0
add esp, 4
add esi, 0xc
jmp 0x451ada
push ebx
push eax
push edi
mov ebx, edx
call fcn.005670c0
mov edx, ebx
mov eax, dword [ebp - 0x148]
add esp, 0xc
jmp 0x451e8e
lea edi, [ebp - 0xd4]
push 0x1e
push str.scoped_handle.cc
push str.Free
push edi
call fcn.0050b300
add esp, 0x10
lea esi, [ebp - 0x11c]
push edi
push esi
call fcn.005bae80
add esp, 8
mov ecx, esi
push 0x62651b
call fcn.005d7cb0
mov ecx, esi
call fcn.00590430
jmp 0x4522a6
call fcn.004f27f0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 1
push 0x228
push str.crashpad_client_win.cc
call fcn.0045af70
lea eax, [ebp - 0xcc]
push 0x12
push str.CloseHandle_thread
push eax
call fcn.00538a30
add esp, 0xc
mov ecx, esi
call fcn.0044fb10
jmp 0x45214b
call fcn.004f27f0
lea esi, [ebp - 0xd4]
mov ecx, esi
push eax
push 1
push 0x22b
push str.crashpad_client_win.cc
call fcn.0045af70
lea eax, [ebp - 0xcc]
push 0x13
push str.CloseHandle_process
push eax
call fcn.00538a30
add esp, 0xc
mov ecx, esi
call fcn.0044fb10
jmp 0x452171