Function at 0x4d9200
Capabilities:
Create process on windows
Encode data using base64
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x548
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x504250
mov dword [ebp - 0x6c], ecx
call 0x4d9225
pop eax
mov dword [ebp - 0x90], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x130], 0
movzx eax, byte [edx + 0x50]
mov ecx, dword [edx + 0x4c]
test al, al
jne 0x4d926c
test ecx, ecx
jne 0x4d926c
mov dword [ebp - 0x140], 0
xor eax, eax
jmp 0x4d9ca0
test al, al
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x5c], 0
jne 0x4d949f
mov dword [ebp - 0x24], ecx
call dword [sym.imp.kernel32.dll_GetEnvironmentStringsW]
test eax, eax
je 0x4dbc04
lea ecx, [ebp - 0xd4]
mov esi, eax
mov dword [ebp - 0x48], eax
jmp 0x4d92a6
lea ecx, [ebp - 0xd4]
cmp word [esi], 0
je 0x4d948d
mov edi, esi
mov edx, 0xffffffff
mov esi, 0xfffffffe
nop dword [eax]
cmp word [edi + edx*2 + 2], 0
mov eax, esi
lea edx, [edx + 1]
lea esi, [esi + 2]
jne 0x4d92c0
lea esi, [edi + edx*2 + 2]
cmp edx, 1
je 0x4d92a6
test edx, edx
je 0x4dbb2a
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
cmp word [edi + ebx*2 + 2], 0x3d
je 0x4d9300
inc ebx
add eax, 0xfffffffe
jne 0x4d92f0
jmp 0x4d92a6
lea eax, [ebx + 1]
cmp ebx, edx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x10], 0x25
jae 0x4dbb4a
mov dword [ebp - 0x38], edi
mov edx, edi
push eax
call fcn.004cfbe0
add esp, 4
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add esi, 2
mov eax, edx
sub eax, esi
jb 0x4dbb61
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x26
lea edx, [ecx + esi*2]
lea ecx, [ebp - 0x554]
push eax
call fcn.004cfbe0
add esp, 4
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x108]
cmp eax, 0x80000000
je 0x4d948d
movq xmm0, qword [ebp - 0xcc]
mov edi, dword [ebp - 0x550]
mov esi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0x554]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x28
mov dword [ebp - 0x28], edi
movd edi, xmm0
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x548]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0xd4], esi
movdqu xmmword [ebp - 0x124], xmm0
add edi, esi
mov esi, dword [ebp - 0x54c]
mov dword [ebp - 0xd0], edi
mov word [ebp - 0xcc], 0
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x70], esi
call fcn.004dc510
mov eax, dword [ebp - 0x38]
movups xmm0, xmmword [ebp - 0x124]
lea ecx, [ebp - 0x544]
mov byte [ebp - 0x71], 0
mov dword [ebp - 0x10], 0x27
lea edx, [ebp - 0x64]
mov dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x100]
movlps qword [ebp - 0x54c], xmm0
movq xmm0, qword [ebp - 0x108]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x2c]
movq qword [ecx], xmm0
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x554]
push eax
call fcn.004dc720
add esp, 8
test dword [ebp - 0x108], 0x7fffffff
mov esi, dword [ebp - 0x34]
je 0x4d92a0
mov ecx, dword [ebp - 0x104]
mov edx, 1
call fcn.004332a0
jmp 0x4d92a0
push dword [ebp - 0x48]
call dword [sym.imp.kernel32.dll_FreeEnvironmentStringsW]
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x24]
mov esi, dword [edx + 0x44]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], eax
xor eax, eax
test esi, esi
mov dword [ebp - 0x38], esi
setne al
cmove ecx, esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], ecx
jmp 0x4d94d7
mov dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4d9af3
cmp dword [ebp - 0x34], 0
je 0x4dba4a
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x38]
test edx, edx
je 0x4d9500
mov esi, eax
jmp 0x4d951b
xor esi, esi
mov edx, edi
test eax, eax
mov dword [ebp - 0x34], 1
je 0x4d9519
nop
mov edx, dword [edx + 0x1ec]
dec eax
jne 0x4d9510
xor edi, edi
movzx eax, word [edx + 0x1ea]
cmp esi, eax
jae 0x4d9530
mov ebx, edx
jmp 0x4d9551
mov ebx, dword [edx + 0xb0]
test ebx, ebx
je 0x4db7b2
movzx esi, word [edx + 0x1e8]
inc edi
mov edx, ebx
cmp si, word [ebx + 0x1ea]
jae 0x4d9530
test edi, edi
je 0x4d9580
mov eax, dword [ebx + esi*4 + 0x1f0]
mov dword [ebp - 0x28], 0
dec edi
je 0x4d9579
nop word cs:[eax + eax]
mov eax, dword [eax + 0x1ec]
dec edi
jne 0x4d9570
mov dword [ebp - 0x2c], eax
jmp 0x4d9589
lea eax, [esi + 1]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], eax
lea eax, [esi + esi*8]
dec ecx
lea eax, [eax + eax*2]
mov dword [ebp - 0x24], ecx
add eax, esi
shl esi, 4
cmp dword [ebx + esi], 0x80000000
lea edi, [ebx + eax + 0xb4]
jne 0x4d9710
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x38], 0
test edx, edx
je 0x4d94d7
mov esi, dword [edi + 0x18]
mov eax, dword [edi + 0x14]
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x10], 0x21
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x40], edx
push esi
push eax
mov dword [ebp - 0x30], edi
push edi
call fcn.004dd650
add esp, 0xc
cmp dword [ebp - 0x58], 0
jne 0x4d94d7
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 0x114], 0
test ecx, ecx
jne 0x4d9647
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], edx
lea ecx, [ebp - 0x554]
lea edx, [ebp - 0xd4]
push eax
call fcn.004dd7b0
add esp, 4
jmp 0x4d99ee
movzx edx, word [eax + 0x1ea]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
jne 0x4d9640
movzx ecx, word [eax + 0x1ea]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x10], 0x21
lea edx, [ebp - 0x84]
dec ecx
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x554]
push eax
call fcn.004dd7b0
add esp, 4
movsd xmm2, qword [ebp - 0x53c]
movsd xmm1, qword [ebp - 0x544]
mov eax, dword [ebp - 0x52c]
movq xmm0, qword [ebp - 0x534]
mov edx, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x520]
movsd qword [ebp - 0xf0], xmm2
movsd qword [ebp - 0xf8], xmm1
movsd xmm2, qword [ebp - 0x554]
movsd xmm1, qword [ebp - 0x54c]
mov dword [ebp - 0xe0], eax
movq qword [ebp - 0xe8], xmm0
movsd qword [ebp - 0x100], xmm1
movsd qword [ebp - 0x108], xmm2
movzx eax, word [edx + 0x1ea]
cmp ecx, eax
jae 0x4d98a3
mov eax, edx
jmp 0x4d98d3
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
test edx, edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x30], eax
je 0x4d9741
js 0x4dbadb
movzx eax, byte [0x5c3018]
xor ecx, ecx
call fcn.004e33d0
test eax, eax
je 0x4dbad4
mov edx, dword [ebp - 0x38]
jmp 0x4d9746
mov eax, 1
push edx
push dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x18]
movzx ecx, byte [edi + 0xc]
mov edx, dword [edi + 0x14]
test eax, eax
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x124], cl
je 0x4d97a1
mov dword [ebp - 0x48], edx
lea edx, [eax + eax]
cmp eax, 0x3fffffff
mov dword [ebp - 0x70], edx
ja 0x4dbaf8
movzx eax, byte [0x5c3018]
xor ecx, ecx
call fcn.004e33d0
test eax, eax
je 0x4dbaf1
mov edi, eax
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x48]
jmp 0x4d97a8
mov edi, 2
xor eax, eax
add ebx, esi
push eax
push edx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], eax
movzx eax, byte [ebp - 0x124]
mov byte [ebp - 0x548], al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x540], edi
mov dword [ebp - 0x53c], eax
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 4]
test esi, esi
je 0x4d9828
mov dword [ebp - 0x38], eax
js 0x4dbad0
movzx eax, byte [0x5c3018]
xor ecx, ecx
mov edx, esi
call fcn.004e33d0
test eax, eax
je 0x4dbb0e
mov edi, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x22
jmp 0x4d982d
mov edi, 1
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [ebx + 0xc]
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], esi
mov byte [ebp - 0x72], 0
mov dword [ebp - 0x10], 0x22
lea ecx, [ebp - 0x108]
lea edx, [ebp - 0x64]
mov byte [ebp - 0xc8], al
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x554]
push eax
call fcn.004dc720
add esp, 8
test dword [ebp - 0x108], 0x7fffffff
je 0x4d94d0
mov ecx, dword [ebp - 0x104]
mov edx, 1
call fcn.004332a0
jmp 0x4d94d0
mov esi, dword [ebp - 0x524]
nop dword [eax]
mov eax, dword [edx + 0xb0]
test eax, eax
je 0x4d98cf
movzx ecx, word [edx + 0x1e8]
inc esi
mov edx, eax
cmp cx, word [eax + 0x1ea]
jae 0x4d98b0
jmp 0x4d98d3
xor eax, eax
mov ecx, esi
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*2]
add edx, ecx
shl ecx, 4
mov esi, dword [eax + edx + 0xcc]
mov dword [ebp - 0xbc], esi
mov esi, dword [ebp - 0xf0]
movsd xmm0, qword [eax + edx + 0xc4]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [eax + edx + 0xb4]
movsd xmm1, qword [eax + edx + 0xbc]
movsd qword [ebp - 0xcc], xmm1
movsd qword [ebp - 0xd4], xmm0
mov dword [eax + edx + 0xcc], esi
lea esi, [ebp - 0xec]
movsd xmm0, qword [ebp - 0xf8]
movsd qword [eax + edx + 0xc4], xmm0
movsd xmm0, qword [ebp - 0x108]
movsd xmm1, qword [ebp - 0x100]
movsd qword [eax + edx + 0xbc], xmm1
movsd qword [eax + edx + 0xb4], xmm0
lea edx, [ebp - 0xb8]
movsd xmm0, qword [eax + ecx]
movsd xmm1, qword [eax + ecx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [eax + ecx], xmm0
movsd qword [eax + ecx + 8], xmm1
movsd xmm1, qword [ebp - 0xcc]
mov eax, dword [ebp - 0xac]
movq xmm0, qword [ebp - 0xd4]
movsd xmm2, qword [ebp - 0xbc]
movsd qword [ebp - 0x54c], xmm1
movsd xmm1, qword [ebp - 0xc4]
mov dword [ebp - 0x52c], eax
movq qword [ebp - 0x554], xmm0
movsd qword [ebp - 0x53c], xmm2
movsd qword [ebp - 0x544], xmm1
movsd xmm1, qword [ebp - 0xb4]
movsd qword [ebp - 0x534], xmm1
movsd xmm2, qword [ebp - 0x53c]
movsd xmm1, qword [ebp - 0x544]
mov eax, dword [ebp - 0x52c]
movq xmm0, qword [ebp - 0x534]
dec dword [ebp - 0x5c]
cmp byte [ebp - 0x114], 0
movsd qword [ebp - 0xbc], xmm2
movsd qword [ebp - 0xc4], xmm1
movsd xmm2, qword [ebp - 0x554]
movsd xmm1, qword [ebp - 0x54c]
mov dword [ebp - 0xac], eax
movq qword [ebp - 0xb4], xmm0
movsd qword [ebp - 0xcc], xmm1
movsd qword [ebp - 0xd4], xmm2
je 0x4d9a85
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x4dbb7c
mov ecx, dword [ebp - 0x40]
dec edx
mov eax, dword [ecx + 0x1ec]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov edx, 4
mov dword [eax + 0xb0], 0
call fcn.004332a0
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xb8]
cmp eax, 0x80000000
mov dword [ebp - 0x30], edx
je 0x4d94d7
test eax, eax
je 0x4d9ac5
mov edx, 1
call fcn.004332a0
test esi, esi
je 0x4d9ad5
mov ecx, edi
mov edx, 2
call fcn.004332a0
test ebx, 0x7fffffff
je 0x4d94d7
mov ecx, dword [ebp - 0x30]
mov edx, 1
call fcn.004332a0
jmp 0x4d94d7
mov eax, dword [ebp - 0x5c]
movq xmm0, qword [ebp - 0x64]
xor ecx, ecx
mov edx, 4
mov dword [ebp - 0x134], eax
movq qword [ebp - 0x13c], xmm0
mov dword [ebp - 0x140], 1
movzx eax, byte [0x5c3018]
call fcn.004e33d0
test eax, eax
je 0x4dbb9f
mov ecx, eax
mov dword [eax], 0x48544150
mov dword [ebp - 0xd4], eax
lea edx, [ebp - 0xd4]
mov dword [ebp - 0x10], 0x20
mov dword [ebp - 0x30], eax
add ecx, 4
mov dword [ebp - 0xd0], ecx
lea ecx, [ebp - 0x108]
mov word [ebp - 0xcc], 0
call fcn.004dc510
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x30]
movq xmm0, qword [ebp - 0x108]
mov dword [ebp - 0x554], 4
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], 4
mov byte [ebp - 0x548], 0
movq qword [ebp - 0x544], xmm0
mov dword [ebp - 0x53c], eax
mov dword [ebp - 0x2c], eax
test edx, edx
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x24], eax
je 0x4d9c70
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x34], eax
lea ecx, [edx + 0xb4]
mov dword [ebp - 0x38], edx
movzx edx, word [edx + 0x1ea]
mov edi, 0xffffffff
lea eax, [edx + edx*8]
mov dword [ebp - 0x40], edx
lea esi, [eax + eax*2]
add esi, edx
nop word cs:[eax + eax]
nop dword [eax]
test esi, esi
je 0x4d9c30
lea ebx, [ecx + 0x1c]
push 1
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push dword [ebp - 0x2c]
push dword [ebp - 0x24]
call dword [sym.imp.kernel32.dll_CompareStringOrdinal]
add esi, 0xffffffe4
inc edi
cmp eax, 3
mov ecx, ebx
je 0x4d9c00
cmp eax, 1
jne 0x4d9c4e
jmp 0x4d9c33
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
sub eax, 1
jb 0x4da14e
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov edx, dword [edx + edi*4 + 0x1ec]
jmp 0x4d9bd3
cmp eax, 2
jne 0x4dba60
mov ecx, dword [ebp - 0x38]
shl edi, 4
mov eax, dword [ecx + edi + 4]
mov ecx, dword [ecx + edi + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x30]
jmp 0x4d9c77
mov dword [ebp - 0x28], 0
mov edx, 1
call fcn.004332a0
cmp dword [ebp - 0x544], 0
je 0x4d9c97
mov ecx, dword [ebp - 0x24]
mov edx, 2
call fcn.004332a0
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x28]
mov esi, dword [edx + 0x20]
test esi, esi
je 0x4d9d08
mov edx, dword [edx + 0x1c]
mov dword [ebp - 0x28], eax
mov eax, 0x4ddff0
cmp esi, 4
jb 0x4d9ce1
mov eax, dword [edx]
xor ecx, ecx
mov dword [ebp - 0x10], 2
bswap eax
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
mov eax, 0x4ddff0
adc ecx, 0xffffffff
mov ecx, 0x4ddfe0
cmove eax, ecx
movzx ecx, byte [esi + edx - 1]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x34], ecx
push ecx
call eax
add esp, 4
test al, al
je 0x4d9d8c
mov byte [ebp - 0x60], 2
mov dword [ebp - 0x5c], 0x57ef94
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x5c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov dword [edx + 8], 2
cmp dword [ebp - 0x140], 0
je 0x4d9e42
mov ecx, dword [ebp - 0x13c]
test ecx, ecx
je 0x4d9e1a
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x548], edx
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x53c], ecx
mov ecx, 1
mov dword [ebp - 0x538], edx
jmp 0x4d9e1e
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
lea ebx, [edi + esi]
cmp esi, 3
mov dword [ebp - 0x38], ebx
jbe 0x4d9e6b
movzx eax, byte [ebx - 4]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
xor eax, eax
cmp cl, 0x2e
mov ecx, 0
jne 0x4d9e90
movzx ecx, byte [ebx - 3]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
jne 0x4d9e89
movzx ecx, byte [ebx - 2]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x4d9e8d
mov edx, dword [ebp - 0x34]
mov ecx, edx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
cmp cl, 0x65
sete cl
jmp 0x4d9e90
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x544], ecx
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x10], 1
call fcn.004df4d0
cmp dword [ebp - 0x130], 4
jb 0x4d9e57
push dword [ebp - 0x12c]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x548
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, esi
mov ecx, edi
nop
test eax, eax
je 0x4d9fee
movzx edx, byte [ecx]
cmp edx, 0x2f
je 0x4d9ef7
inc ecx
dec eax
cmp edx, 0x5c
jne 0x4d9e70
jmp 0x4d9ef7
xor ecx, ecx
jmp 0x4d9e90
xor ecx, ecx
nop
cmp esi, eax
je 0x4d9fee
movzx edx, byte [edi + eax]
cmp edx, 0x2f
je 0x4d9ea7
inc eax
cmp edx, 0x5c
jne 0x4d9e90
test cl, cl
je 0x4d9ef7
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x554]
mov edx, edi
push esi
call fcn.004d1b70
add esp, 4
mov edx, dword [ebp - 0x554]
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x54c]
cmp edx, 0x80000000
jne 0x4da125
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x64], 0x80000000
jmp 0x4da801
test esi, esi
js 0x4dbc7a
movzx eax, byte [0x5c3018]
xor ecx, ecx
mov edx, esi
call fcn.004e33d0
test eax, eax
je 0x4dbc7e
mov ebx, eax
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebp - 0x554], esi
mov dword [ebp - 0x550], ebx
mov dword [ebp - 0x54c], esi
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x10], 0x1c
lea ecx, [ebp - 0x554]
mov edx, str..exeprogram_not_found
push 4
mov dword [ebp - 0x28], ebx
call fcn.004d3230
add esp, 4
mov eax, dword [ebp - 0x554]
mov edx, dword [ebp - 0x550]
mov esi, dword [ebp - 0x54c]
mov byte [ebp - 0x73], 1
mov dword [ebp - 0x10], 0x1b
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x34], esi
push esi
call fcn.004de0e0
add esp, 4
cmp dword [ebp - 0xd4], 0x80000000
jne 0x4da0bc
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x1d
call fcn.004d8ab0
test eax, eax
je 0x4da789
cmp edx, 2
jne 0x4da0d7
movzx ecx, word [eax]
cmp ecx, 0x2e2e
jne 0x4da0d7
mov ecx, 2
xor esi, esi
jmp 0x4da763
xor esi, esi
mov eax, edi
jmp 0x4da00b
xor esi, esi
test dx, dx
je 0x4da0a9
mov dx, 1
test si, si
jne 0x4da000
cmp eax, ebx
je 0x4da101
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
js 0x4da02c
mov ebx, dword [ebp - 0x38]
inc eax
jmp 0x4da0a0
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x4da065
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x4da075
movzx edi, byte [eax + 3]
and ecx, 7
shl esi, 6
add eax, 4
shl ecx, 0x12
and edi, 0x3f
or edi, esi
or ecx, edi
jmp 0x4da07d
shl ecx, 6
mov ebx, dword [ebp - 0x38]
add eax, 2
or ecx, edi
mov edi, dword [ebp - 0x2c]
jmp 0x4da0a0
shl ecx, 0xc
add eax, 3
or ecx, esi
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x38]
cmp ecx, 0xffff
jbe 0x4da0a0
and ecx, 0x3ff
or ecx, 0xdc00
mov esi, ecx
jmp 0x4da002
xor esi, esi
mov edx, ecx
jmp 0x4da002
mov dword [ebp - 0x60], 2
mov dword [ebp - 0x5c], 0x57ef68
jmp 0x4d9d13
mov eax, dword [ebp - 0xcc]
movq xmm0, qword [ebp - 0xd4]
mov dword [ebp - 0x5c], eax
movq qword [ebp - 0x64], xmm0
jmp 0x4da7ee
mov ecx, edx
nop dword [eax]
test ecx, ecx
je 0x4da153
mov edi, ecx
dec ecx
cmp byte [eax + edi - 1], 0x2e
jne 0x4da0e0
test ecx, ecx
je 0x4da75f
mov esi, eax
sub edx, edi
add esi, edi
jmp 0x4da763
mov eax, dword [ebp - 0x24]
cmp eax, 7
ja 0x4da15c
dec eax
nop word [eax + eax]
sub eax, 1
setb dl
cmp byte [edi], 0x2e
sete dh
je 0x4da172
inc edi
test dl, dl
je 0x4da110
jmp 0x4da172
mov dword [ebp - 0x554], edx
mov dword [ebp - 0x54c], ecx
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x554]
mov dword [ebp - 0x550], eax
mov byte [ebp - 0x1d], 1
call fcn.004de010
jmp 0x4da801
jmp 0x4d9c6b
mov esi, eax
xor eax, eax
jmp 0x4da763
mov edx, edi
mov ecx, 0x2e
push eax
call fcn.0042fd80
add esp, 4
cmp eax, 1
sete dh
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x124], dh
mov dword [ebp - 0x10], 2
test eax, eax
je 0x4da2c5
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xd4], eax
lea edx, [ebp - 0xd4]
mov byte [ebp - 0x1d], 1
add ecx, eax
mov dword [ebp - 0xd0], ecx
lea ecx, [ebp - 0x554]
mov word [ebp - 0xcc], 0
mov byte [ebp - 0xc8], 1
call fcn.004d2bb0
jmp 0x4da1d7
lea ecx, [ebp - 0x554]
lea edx, [ebp - 0xd4]
mov byte [ebp - 0x1d], 1
call fcn.004d2bb0
mov eax, dword [ebp - 0x554]
cmp eax, 0x80000000
je 0x4da2c5
mov edx, dword [ebp - 0x54c]
mov ecx, dword [ebp - 0x550]
test edx, edx
je 0x4da2ae
mov esi, dword [ebp - 0x548]
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x1a
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x548], esi
push dword [ebp - 0x24]
call fcn.004d5060
add esp, 4
cmp byte [ebp - 0x124], 0
jne 0x4da249
lea ecx, [ebp - 0x554]
call fcn.004d8bd0
mov edx, dword [ebp - 0x550]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x28], edx
push dword [ebp - 0x54c]
call fcn.004de0e0
add esp, 4
cmp dword [ebp - 0x554], 0
je 0x4da27c
mov ecx, dword [ebp - 0x28]
mov edx, 1
call fcn.004332a0
mov eax, dword [ebp - 0x108]
cmp eax, 0x80000000
jne 0x4da565
lea ecx, [ebp - 0x554]
lea edx, [ebp - 0xd4]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 2
call fcn.004d2bb0
jmp 0x4da1d7
test eax, eax
je 0x4da1c2
mov edx, 1
call fcn.004332a0
jmp 0x4da1c2
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0x1d], 1
call fcn.004d2e30
mov eax, dword [ebp - 0xd4]
cmp eax, 0x80000000
jne 0x4da2f5
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0x1d], 1
call fcn.004cfb10
jmp 0x4da3c4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x10], 0x18
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x40], edx
call fcn.004d6670
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0x19
cmp ecx, edx
cmovb edx, ecx
test eax, eax
cmove edx, ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x554], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x550], esi
mov dword [ebp - 0x54c], edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x548], ecx
lea ecx, [ebp - 0x554]
push dword [ebp - 0x24]
call fcn.004d5060
add esp, 4
cmp byte [ebp - 0x124], 0
jne 0x4da380
lea ecx, [ebp - 0x554]
call fcn.004d8bd0
mov edx, dword [ebp - 0x550]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x30], edx
push dword [ebp - 0x54c]
call fcn.004de0e0
add esp, 4
cmp dword [ebp - 0x554], 0
je 0x4da3b3
mov ecx, dword [ebp - 0x30]
mov edx, 1
call fcn.004332a0
mov eax, dword [ebp - 0x108]
cmp eax, 0x80000000
jne 0x4da565
mov edi, 0x200
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 2
cmp edi, 0x201
jb 0x4da40e
jmp 0x4da420
jbe 0x4da4a2
cmp edi, 0x201
jae 0x4da420
mov dword [ebp - 0x34], 0x200
lea ebx, [ebp - 0x554]
mov esi, edi
jmp 0x4da451
mov esi, dword [ebp - 0x28]
sub edi, esi
je 0x4da445
mov dword [ebp - 0x10], 0x16
lea ecx, [ebp - 0x58]
mov edx, esi
push edi
call fcn.00528900
add esp, 4
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x28], esi
push 0
call dword [sym.imp.kernel32.dll_SetLastError]
push esi
push ebx
call dword [sym.imp.kernel32.dll_GetSystemDirectoryW]
mov edi, eax
test eax, eax
jne 0x4da475
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x4da576
cmp edi, esi
jne 0x4da400
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4dbbbe
lea edi, [esi + esi]
test esi, esi
mov eax, 0xffffffff
cmovs edi, eax
cmp edi, 0x201
jae 0x4da420
jmp 0x4da40e
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x16
cmp edi, edx
ja 0x4dbc98
lea ecx, [ebp - 0xd4]
mov edx, ebx
push edi
call fcn.004cfbe0
add esp, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x17
lea ecx, [ebp - 0xd4]
push dword [ebp - 0x24]
call fcn.004d5060
add esp, 4
cmp byte [ebp - 0x124], 0
jne 0x4da4f4
lea ecx, [ebp - 0xd4]
call fcn.004d8bd0
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x28], edx
push dword [ebp - 0xcc]
call fcn.004de0e0
add esp, 4
cmp dword [ebp - 0xd4], 0
je 0x4da527
mov ecx, dword [ebp - 0x28]
mov edx, 1
call fcn.004332a0
movq xmm0, qword [ebp - 0x108]
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0x58], 0
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], eax
je 0x4da553
mov ecx, dword [ebp - 0x54]
mov edx, 2
call fcn.004332a0
mov eax, dword [ebp - 0x84]
cmp eax, 0x80000001
jle 0x4da5a7
jmp 0x4da754
mov ecx, dword [ebp - 0x104]
mov edi, dword [ebp - 0x100]
jmp 0x4da815
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [ebp - 0x58], 0
mov byte [ebp - 0x80], 0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x84], 0x80000001
je 0x4da5a0
mov ecx, dword [ebp - 0x54]
mov edx, 2
call fcn.004332a0
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 2
call fcn.004de190
mov edi, 0x200
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 2
cmp edi, 0x201
jb 0x4da5fe
jmp 0x4da610
jbe 0x4da692
cmp edi, 0x201
jae 0x4da610
mov dword [ebp - 0x34], 0x200
lea ebx, [ebp - 0x554]
mov esi, edi
jmp 0x4da641
mov esi, dword [ebp - 0x28]
sub edi, esi
je 0x4da635
mov dword [ebp - 0x10], 0x14
lea ecx, [ebp - 0x58]
mov edx, esi
push edi
call fcn.00528900
add esp, 4
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x28], esi
push 0
call dword [sym.imp.kernel32.dll_SetLastError]
push esi
push ebx
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
mov edi, eax
test eax, eax
jne 0x4da665
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x4db2e2
cmp edi, esi
jne 0x4da5f0
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4dbbe1
lea edi, [esi + esi]
test esi, esi
mov eax, 0xffffffff
cmovs edi, eax
cmp edi, 0x201
jae 0x4da610
jmp 0x4da5fe
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x14
cmp edi, edx
ja 0x4dbca9
lea ecx, [ebp - 0xd4]
mov edx, ebx
push edi
call fcn.004cfbe0
add esp, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x15
lea ecx, [ebp - 0xd4]
push dword [ebp - 0x24]
call fcn.004d5060
add esp, 4
cmp byte [ebp - 0x124], 0
jne 0x4da6e4
lea ecx, [ebp - 0xd4]
call fcn.004d8bd0
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x28], edx
push dword [ebp - 0xcc]
call fcn.004de0e0
add esp, 4
cmp dword [ebp - 0xd4], 0
je 0x4da717
mov ecx, dword [ebp - 0x28]
mov edx, 1
call fcn.004332a0
movq xmm0, qword [ebp - 0x108]
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0x58], 0
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], eax
je 0x4da743
mov ecx, dword [ebp - 0x54]
mov edx, 2
call fcn.004332a0
mov eax, dword [ebp - 0x84]
cmp eax, 0x80000002
jl 0x4db313
mov ecx, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
jmp 0x4da815
xor esi, esi
mov ecx, edx
test eax, eax
cmovne esi, eax
test esi, esi
je 0x4da789
test eax, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x1d
cmove ecx, edx
mov edx, dword [ebp - 0x24]
add esi, ecx
sub esi, edx
cmp eax, esi
cmovae eax, esi
jmp 0x4da78f
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x1d
lea ecx, [ebp - 0x554]
push eax
call fcn.004d1b70
add esp, 4
mov edx, dword [ebp - 0x554]
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x54c]
cmp edx, 0x80000000
jne 0x4da7ce
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x64], 0x80000000
jmp 0x4da7ee
mov dword [ebp - 0x554], edx
mov dword [ebp - 0x54c], ecx
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x554]
mov dword [ebp - 0x550], eax
call fcn.004de010
cmp dword [ebp - 0x28], 0
je 0x4da801
mov ecx, dword [ebp - 0x24]
mov edx, 1
call fcn.004332a0
mov eax, dword [ebp - 0x64]
cmp eax, 0x80000000
je 0x4d9d13
mov ecx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ecx
cmp edi, 4
jbe 0x4da83e
mov eax, dword [ebp - 0x34]
lea eax, [eax + edi*2]
mov ecx, eax
add ecx, 0xfffffff6
je 0x4da83e
cmp word [ecx], 0x2e
jne 0x4da83e
cmp word [eax - 2], 0
je 0x4db182
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 2
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0x10], 0x10
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 0x30]
movzx eax, byte [eax + 0x65]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0x28], al
call fcn.004d15b0
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
mov word [eax], 0x22
mov dword [ebp - 0x554], edx
mov dword [ebp - 0x550], ecx
lea ecx, [ebp - 0xd4]
lea edx, [ebp - 0x554]
mov dword [ebp - 0xcc], 1
mov word [ebp - 0x54c], 0
call fcn.004d1de0
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xcc]
cmp ecx, dword [ebp - 0xd4]
jne 0x4da8ed
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xd4]
call fcn.004d15b0
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd0]
mov word [eax + ecx*2], 0x22
mov eax, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0xcc], ecx
movzx ecx, byte [ebp - 0x28]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], eax
cmp esi, dword [ebp - 0x2c]
je 0x4da988
nop dword [eax + eax]
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x24], esi
cmp ecx, dword [ebp - 0xd4]
jne 0x4da945
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xd4]
call fcn.004d15b0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xd4]
mov word [eax + ecx*2], 0x20
inc ecx
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0x108]
push dword [ebp - 0x28]
push esi
call fcn.004df090
mov esi, dword [ebp - 0x24]
add esp, 8
cmp byte [ebp - 0x108], 4
jne 0x4dae78
add esi, 0x14
cmp esi, dword [ebp - 0x2c]
jne 0x4da920
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xcc]
cmp eax, 0x80000000
je 0x4dae9d
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov cl, 1
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x124], edx
mov ecx, dword [ebp - 0x90]
cmp eax, edi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], edi
jne 0x4daa07
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x43], 1
mov dword [ebp - 0x10], 4
call fcn.004d15b0
mov esi, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x90]
mov edi, dword [ebp - 0x24]
mov word [esi + edi*2], 0
inc edi
mov eax, 0x400
mov edx, 0x608
cmp byte [ecx + 0x64], 0
mov dword [ebp - 0x10c], edi
cmove edx, eax
or edx, dword [ecx + 0x54]
cmp dword [ebp - 0x140], 0
mov dword [ebp - 0x14c], edx
je 0x4daf2b
mov esi, dword [ebp - 0x134]
movq xmm0, qword [ebp - 0x13c]
mov eax, 2
mov ecx, 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x2c], 0
test esi, esi
mov dword [ebp - 0x7c], esi
movq qword [ebp - 0x84], xmm0
jne 0x4daaab
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x39], 1
mov dword [ebp - 0x10], 0xb
call fcn.004d15b0
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x24]
mov ecx, 1
mov word [eax], 0
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x80]
xor edx, edx
mov dword [ebp - 0x10], 0xc
test eax, eax
setne dl
cmove esi, eax
mov dword [ebp - 0x554], edx
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], ecx
mov dword [ebp - 0x544], edx
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x53c], eax
mov dword [ebp - 0x538], ecx
lea ecx, [ebp - 0xd4]
lea edx, [ebp - 0x554]
mov dword [ebp - 0x534], esi
call fcn.004d8fc0
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x4db6c6
mov eax, dword [ebp - 0xcc]
lea edx, [eax + eax*8]
lea edx, [edx + edx*2]
add edx, eax
mov esi, dword [ecx + edx + 0xb4]
cmp esi, 0x80000000
je 0x4db6c6
shl eax, 4
mov dword [ebp - 0x88], esi
mov edi, dword [ecx + edx + 0xcc]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x48], esi
mov esi, dword [ecx + eax + 4]
mov eax, dword [ecx + eax + 8]
mov dword [ebp - 0x78], esi
mov esi, dword [ecx + edx + 0xc4]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + edx + 0xb8]
mov dword [ebp - 0x8c], esi
mov esi, dword [ecx + edx + 0xc8]
mov ecx, dword [ecx + edx + 0xbc]
mov edx, eax
mov dword [ebp - 0xdc], eax
add ecx, eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x24], ecx
jmp 0x4dabbb
xor ebx, ebx
test di, di
je 0x4daece
mov di, 1
test bx, bx
jne 0x4dabb0
cmp edx, ecx
je 0x4dac4c
movzx eax, byte [edx]
movzx esi, al
test al, al
js 0x4dabd9
inc edx
jmp 0x4dac43
movzx ecx, byte [edx + 1]
and esi, 0x1f
and ecx, 0x3f
cmp al, 0xdf
jbe 0x4dac10
movzx ebx, byte [edx + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp al, 0xf0
jb 0x4dac1d
movzx eax, byte [edx + 3]
and esi, 7
shl ebx, 6
add edx, 4
shl esi, 0x12
and eax, 0x3f
or eax, ebx
or esi, eax
jmp 0x4dac25
shl esi, 6
add edx, 2
or esi, ecx
mov ecx, dword [ebp - 0x24]
jmp 0x4dac43
shl esi, 0xc
add edx, 3
or esi, ebx
mov ecx, dword [ebp - 0x24]
cmp esi, 0xffff
jbe 0x4dac43
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
jmp 0x4dabb2
xor ebx, ebx
mov edi, esi
jmp 0x4dabb2
cmp dword [ebp - 0x88], 0
je 0x4dac65
mov ecx, dword [ebp - 0xdc]
mov edx, 1
call fcn.004332a0
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x70]
sub eax, edi
cmp eax, esi
jae 0x4dac9e
mov dword [ebp - 0x10], 0xf
lea ecx, [ebp - 0x58]
mov edx, edi
push esi
call fcn.00528900
add esp, 4
mov ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x144]
lea eax, [esi + esi]
mov dword [ebp - 0x70], ecx
lea ecx, [ecx + edi*2]
push eax
mov ebx, dword [ebp - 0x68]
push ebx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
cmp dword [ebp - 0x8c], 0
mov dword [ebp - 0x50], edi
je 0x4daccf
mov ecx, ebx
mov edx, 2
call fcn.004332a0
cmp edi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x70]
jne 0x4dacf9
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x10], 0xd
mov dword [ebp - 0xd8], edi
call fcn.004d15b0
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x54]
mov word [eax + edi*2], 0x3d
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x38]
and dword [ebp - 0xdc], 0xffffff00
inc edi
mov dword [ebp - 0x50], edi
xor edi, edi
add eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x4dad27
xor edi, edi
test si, si
je 0x4db4dd
mov si, 1
test di, di
jne 0x4dad1c
cmp ecx, eax
je 0x4dadba
movzx ebx, byte [ecx]
movzx edx, bl
test bl, bl
js 0x4dad45
inc ecx
jmp 0x4dadb1
movzx eax, byte [ecx + 1]
and edx, 0x1f
and eax, 0x3f
cmp bl, 0xdf
jbe 0x4dad7e
movzx edi, byte [ecx + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp bl, 0xf0
jb 0x4dad8b
movzx eax, byte [ecx + 3]
and edx, 7
shl edi, 6
add ecx, 4
shl edx, 0x12
and eax, 0x3f
or eax, edi
or edx, eax
jmp 0x4dad93
shl edx, 6
add ecx, 2
or edx, eax
mov eax, dword [ebp - 0x24]
jmp 0x4dadb1
shl edx, 0xc
add ecx, 3
or edx, edi
mov eax, dword [ebp - 0x24]
cmp edx, 0xffff
jbe 0x4dadb1
and edx, 0x3ff
or edx, 0xdc00
mov edi, edx
jmp 0x4dad1e
xor edi, edi
mov esi, edx
jmp 0x4dad1e
mov ecx, dword [ebp - 0x78]
mov eax, ecx
shr eax, 8
cmp dword [ebp - 0x48], 0x80000000
mov dword [ebp - 0x128], eax
je 0x4dba42
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x108], ecx
lea ecx, [ebp - 0x58]
lea edx, [ebp - 0x108]
mov dword [ebp - 0x10], 0xe
mov dword [ebp - 0x104], eax
mov word [ebp - 0x100], 0
call fcn.004d1de0
cmp dword [ebp - 0x48], 0
je 0x4dae15
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.004332a0
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0x58]
jne 0x4dae3c
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x10], 0xd
mov dword [ebp - 0xd8], edx
call fcn.004d15b0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xdc]
mov word [eax + edx*2], 0
inc edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x50], edx
lea edx, [ebp - 0x554]
call fcn.004d8fc0
jmp 0x4dab1d
mov esi, dword [ebp - 0x108]
mov edi, dword [ebp - 0x104]
cmp dword [ebp - 0xd4], 0
je 0x4dae9d
mov ecx, dword [ebp - 0xd0]
mov edx, 2
call fcn.004332a0
mov eax, dword [ebp - 0x6c]
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], 2
xor ebx, ebx
cmp dword [ebp - 0x30], 0
je 0x4daec1
mov ecx, dword [ebp - 0x34]
mov edx, 2
call fcn.004332a0
test bl, bl
je 0x4d9d28
jmp 0x4d9e42
cmp dword [ebp - 0x88], 0
je 0x4daee7
mov ecx, dword [ebp - 0xdc]
mov edx, 1
call fcn.004332a0
cmp dword [ebp - 0x48], 0
je 0x4daefa
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.004332a0
or dword [ebp - 0x2c], 2
cmp dword [ebp - 0x8c], 0
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x38], 0x57ef68
je 0x4db511
mov edx, 2
call fcn.004332a0
mov dword [ebp - 0x10], 0xb
jmp 0x4db511
xor edi, edi
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x2c], 2
cmp dword [ecx + 0x34], 0x80000000
mov dword [ebp - 0x70], edi
jne 0x4db234
xor esi, esi
mov ebx, 2
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x78], 0
pxor xmm0, xmm0
mov cl, 1
xor eax, eax
movdqu xmmword [ebp - 0x58], xmm0
lock cmpxchg byte [0x5c2fa8], cl
jne 0x4db77e
mov eax, dword [0x5c3014]
shl esi, 8
movzx ebx, bl
test eax, 0x7fffffff
jne 0x4db78d
xor eax, eax
or ebx, esi
xor edx, edx
mov dword [ebp - 0x24], ebx
movzx ecx, byte [0x5c2fa9]
mov dword [ebp - 0x60], 0x5c2fa8
mov byte [ebp - 0x5c], al
lea eax, [ebp - 0x130]
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x10], 6
test cl, cl
mov ecx, dword [ebp - 0x90]
setne dl
mov dword [ebp - 0x64], edx
cmp dword [ecx], 6
mov edx, ecx
lea esi, [ecx + 8]
cmove edx, eax
cmp dword [ecx + 8], 6
cmove esi, eax
cmp dword [ecx + 0x10], 6
mov dword [ebp - 0x68], esi
lea esi, [ecx + 0x10]
lea ecx, [ebp - 0x554]
cmove esi, eax
lea eax, [ebp - 0x108]
mov dword [ebp - 0x8c], esi
push eax
push 0xfffffffffffffff6
call fcn.004df560
add esp, 8
movzx eax, byte [ebp - 0x554]
cmp al, 4
jne 0x4db554
mov ecx, dword [ebp - 0x550]
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x100]
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x554]
push eax
push 0xfffffffffffffff5
call fcn.004df560
add esp, 8
movzx eax, byte [ebp - 0x554]
cmp al, 4
jne 0x4db586
mov ecx, dword [ebp - 0x550]
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x10], 8
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0x554]
push eax
push 0xfffffffffffffff4
call fcn.004df560
add esp, 8
movzx eax, byte [ebp - 0x554]
mov edx, dword [ebp - 0x90]
cmp al, 4
jne 0x4db722
mov ecx, dword [ebp - 0x550]
cmp dword [ebp - 0x88], 0
mov ebx, dword [ebp - 0x24]
pxor xmm0, xmm0
mov dword [ebp - 0x94], 0
movdqu xmmword [ebp - 0xa4], xmm0
movdqu xmmword [ebp - 0xb4], xmm0
movdqu xmmword [ebp - 0xc4], xmm0
movdqu xmmword [ebp - 0xd4], xmm0
jne 0x4db0f7
cmp dword [ebp - 0x68], 0
jne 0x4db0f7
test ecx, ecx
je 0x4db11c
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0xa8], 0x100
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], ecx
mov eax, dword [edx + 0x60]
mov dword [ebp - 0x8c], ecx
test eax, eax
mov dword [ebp - 0xdc], eax
je 0x4db7a0
add edx, 0x58
lea ecx, [ebp - 0x84]
mov dword [ebp - 0xd4], 0x48
mov dword [ebp - 0x10], 9
call fcn.004dfe20
cmp dword [ebp - 0x84], 0
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x24]
lea ecx, [ebp - 0x554]
je 0x4db7c8
mov eax, dword [ebp - 0x6c]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], 2
jmp 0x4db943
movzx ecx, word [eax - 8]
lea edx, [ecx - 0x42]
cmp edx, 0x21
ja 0x4da83e
mov esi, dword [ebp - 0x68]
add esi, dword [edx*4 + 0x4dc42c]
jmp esi
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
xor ebx, ebx
add ecx, edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x24], ecx
jmp 0x4db251
xor ebx, ebx
test di, di
je 0x4db4b5
mov di, 1
test bx, bx
jne 0x4db246
cmp edx, ecx
je 0x4db5c4
movzx eax, byte [edx]
movzx esi, al
test al, al
js 0x4db26f
inc edx
jmp 0x4db2d9
movzx ecx, byte [edx + 1]
and esi, 0x1f
and ecx, 0x3f
cmp al, 0xdf
jbe 0x4db2a6
movzx ebx, byte [edx + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp al, 0xf0
jb 0x4db2b3
movzx eax, byte [edx + 3]
and esi, 7
shl ebx, 6
add edx, 4
shl esi, 0x12
and eax, 0x3f
or eax, ebx
or esi, eax
jmp 0x4db2bb
shl esi, 6
add edx, 2
or esi, ecx
mov ecx, dword [ebp - 0x24]
jmp 0x4db2d9
shl esi, 0xc
add edx, 3
or esi, ebx
mov ecx, dword [ebp - 0x24]
cmp esi, 0xffff
jbe 0x4db2d9
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
jmp 0x4db248
xor ebx, ebx
mov edi, esi
jmp 0x4db248
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [ebp - 0x58], 0
mov byte [ebp - 0x80], 0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x84], 0x80000001
je 0x4db30c
mov ecx, dword [ebp - 0x54]
mov edx, 2
call fcn.004332a0
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 2
call fcn.004de190
mov byte [ebp - 0x1d], 1
lea ecx, [ebp - 0x108]
mov edx, str.PATHlibrary_std_src_sys_commonwtf8.rs
push 4
call fcn.004d1870
add esp, 4
mov eax, dword [ebp - 0x108]
cmp eax, 0x80000000
je 0x4db4a5
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x28], eax
add edx, ecx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0xd0], edx
mov word [ebp - 0xcc], 0
mov byte [ebp - 0xc8], 1
lea ecx, [ebp - 0x554]
lea edx, [ebp - 0xd4]
mov dword [ebp - 0x10], 0x12
call fcn.004d2bb0
jmp 0x4db3ae
lea ecx, [ebp - 0x554]
lea edx, [ebp - 0xd4]
call fcn.004d2bb0
mov eax, dword [ebp - 0x554]
mov edx, dword [ebp - 0x2c]
cmp eax, 0x80000000
je 0x4db492
mov edi, dword [ebp - 0x54c]
mov ecx, dword [ebp - 0x550]
test edi, edi
jne 0x4db3e2
test eax, eax
je 0x4db39d
mov edx, 1
call fcn.004332a0
jmp 0x4db39d
mov esi, dword [ebp - 0x548]
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], edi
mov dword [ebp - 0x10], 0x13
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x548], esi
push dword [ebp - 0x24]
call fcn.004d5060
add esp, 4
cmp byte [ebp - 0x124], 0
jne 0x4db42c
lea ecx, [ebp - 0x554]
call fcn.004d8bd0
mov edx, dword [ebp - 0x550]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x34], edx
push dword [ebp - 0x54c]
call fcn.004de0e0
add esp, 4
cmp dword [ebp - 0x554], 0
je 0x4db45c
mov ecx, dword [ebp - 0x34]
mov edx, 1
call fcn.004332a0
mov eax, dword [ebp - 0x58]
cmp eax, 0x80000000
je 0x4db383
mov ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ecx
je 0x4da81b
mov ecx, dword [ebp - 0x40]
mov edx, 1
call fcn.004332a0
jmp 0x4da81b
cmp dword [ebp - 0x28], 0
je 0x4db4a5
mov ecx, dword [ebp - 0x40]
mov edx, 1
call fcn.004332a0
mov byte [ebp - 0x60], 2
mov dword [ebp - 0x5c], 0x57efb8
jmp 0x4d9d13
mov edx, 0x57ef68
mov ebx, 2
xor esi, esi
mov ecx, dword [ebp - 0x6c]
shl esi, 8
movzx eax, bl
or eax, esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 2
jmp 0x4db9dd
cmp dword [ebp - 0x48], 0
mov esi, 2
mov dword [ebp - 0x38], 0x57ef68
je 0x4db4fc
mov ecx, dword [ebp - 0x78]
mov edx, 1
call fcn.004332a0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x10], 0xb
shl eax, 8
or eax, esi
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x554]
mov byte [ebp - 0x39], 0
mov dword [ebp - 0x10], 0xb
call fcn.004df4d0
cmp dword [ebp - 0x58], 0
je 0x4db53a
mov ecx, dword [ebp - 0x54]
mov edx, 2
call fcn.004332a0
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], 2
jmp 0x4db9f0
movzx ecx, byte [ebp - 0x551]
mov edx, dword [ebp - 0x6c]
movzx edi, word [ebp - 0x553]
mov esi, dword [ebp - 0x550]
mov ebx, dword [ebp - 0x24]
mov byte [edx + 3], cl
mov word [edx + 1], di
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x4db962
movzx ecx, byte [ebp - 0x551]
mov edx, dword [ebp - 0x6c]
movzx edi, word [ebp - 0x553]
mov esi, dword [ebp - 0x550]
mov byte [edx + 3], cl
mov word [edx + 1], di
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
push dword [ebp - 0x88]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ebx, dword [ebp - 0x24]
jmp 0x4db962
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x554]
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], ecx
lea ecx, [ebp - 0xd4]
mov word [ebp - 0x54c], 0
call fcn.004dc510
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xcc]
cmp edx, eax
jne 0x4db622
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x10], 0xa
call fcn.004d15b0
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0xd0]
mov esi, ebx
mov word [ebx + edx*2], 0
shr esi, 8
cmp eax, 0x80000000
jne 0x4db754
inc edx
jmp 0x4db4c1
lea ecx, [ebp - 0x554]
mov byte [ebp - 0x39], 0
mov dword [ebp - 0x10], 0xb
call fcn.004df4d0
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x58]
jne 0x4db6f9
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x39], 0
call fcn.004d15b0
mov edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0xd8]
mov word [edi + edx*2], 0
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000000
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], ecx
jne 0x4db773
inc edx
mov dword [ebp - 0x38], edx
jmp 0x4db53a
mov ebx, dword [ebp - 0x24]
movzx ecx, byte [ebp - 0x551]
mov edx, dword [ebp - 0x6c]
movzx edi, word [ebp - 0x553]
mov esi, dword [ebp - 0x550]
mov byte [edx + 3], cl
mov word [edx + 1], di
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x4db94f
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x78], ebx
jmp 0x4daf60
mov ecx, dword [ebp - 0x90]
jmp 0x4daf3b
mov ecx, 0x5c2fa8
call fcn.00528990
jmp 0x4daf7b
call fcn.00528a30
xor al, 1
mov dword [ebp - 0x10], 6
jmp 0x4daf93
mov dword [ebp - 0xd4], 0x44
lea ecx, [ebp - 0xd4]
jmp 0x4db7f0
mov ecx, 0x57d600
mov dword [ebp - 0x10], 0
call fcn.00526c90
jmp 0x4dbcb8
or dword [ebp - 0x14c], 0x80000
lea eax, [ebp - 0xd4]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
lea ecx, [ebp - 0x554]
add esp, 0xc
mov dword [ebp - 0x510], edi
lea eax, [ebp - 0x58]
push eax
push ecx
push dword [ebp - 0x78]
push dword [ebp - 0x70]
push dword [ebp - 0x14c]
push 1
push 0
push 0
push dword [ebp - 0x110]
push dword [ebp - 0x124]
call dword [sym.imp.kernel32.dll_CreateProcessW]
test eax, eax
je 0x4db907
mov eax, dword [ebp - 0x6c]
movsd xmm1, qword [ebp - 0x100]
cmp dword [ebp - 0xdc], 0
movsd xmm0, qword [ebp - 0xf8]
movsd xmm2, qword [ebp - 0x108]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [ebp - 0x58]
movsd qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
je 0x4db866
mov ecx, edi
mov edx, esi
call fcn.004e0100
mov esi, dword [sym.imp.kernel32.dll_CloseHandle]
push dword [ebp - 0x8c]
call esi
push dword [ebp - 0x68]
call esi
push dword [ebp - 0x88]
call esi
lea ecx, [ebp - 0x64]
call fcn.004e0130
cmp dword [ebp - 0x48], 0
je 0x4db89b
mov ecx, ebx
mov edx, 2
call fcn.004332a0
cmp dword [ebp - 0x38], 0
je 0x4db8ae
mov ecx, dword [ebp - 0x2c]
mov edx, 2
call fcn.004332a0
cmp dword [ebp - 0x114], 0
je 0x4db8c7
mov ecx, dword [ebp - 0x110]
mov edx, 2
call fcn.004332a0
cmp dword [ebp - 0x28], 0
je 0x4db8dd
mov ecx, dword [ebp - 0x124]
mov edx, 2
call fcn.004332a0
cmp dword [ebp - 0x30], 0
mov ecx, dword [ebp - 0x148]
setne al
xor cl, 1
test al, cl
je 0x4d9e42
mov ecx, dword [ebp - 0x34]
mov edx, 2
call fcn.004332a0
jmp 0x4d9e42
call dword [sym.imp.kernel32.dll_GetLastError]
movzx ecx, word [ebp - 0x84]
mov edx, dword [ebp - 0x6c]
cmp dword [ebp - 0xdc], 0
mov word [edx + 1], cx
mov ch, byte [ebp - 0x82]
mov byte [edx + 3], ch
mov byte [edx], 0
mov dword [edx + 4], eax
mov dword [edx + 8], 2
je 0x4db943
mov ecx, edi
mov edx, esi
call fcn.004e0100
push dword [ebp - 0x8c]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov esi, dword [sym.imp.kernel32.dll_CloseHandle]
push dword [ebp - 0x68]
call esi
push dword [ebp - 0x88]
call esi
cmp dword [ebp - 0x108], 0
je 0x4db977
push dword [ebp - 0x104]
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [ebp - 0x100], 0
je 0x4db98c
push dword [ebp - 0xfc]
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [ebp - 0xf8], 0
je 0x4db9a1
push dword [ebp - 0xf4]
call dword [sym.imp.kernel32.dll_CloseHandle]
movzx eax, byte [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
cmp dword [ebp - 0x64], 0
test al, al
jne 0x4db9bc
mov eax, dword [0x5c3014]
test eax, 0x7fffffff
jne 0x4dba30
xor eax, eax
xchg byte [esi], al
cmp al, 2
jne 0x4db9cb
push esi
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
cmp dword [ebp - 0x48], 0
je 0x4db9dd
mov ecx, ebx
mov edx, 2
call fcn.004332a0
cmp dword [ebp - 0x38], 0
je 0x4db9f0
mov ecx, dword [ebp - 0x2c]
mov edx, 2
call fcn.004332a0
cmp dword [ebp - 0x114], 0
je 0x4dba09
mov ecx, dword [ebp - 0x110]
mov edx, 2
call fcn.004332a0
cmp dword [ebp - 0x28], 0
je 0x4dba1f
mov ecx, dword [ebp - 0x124]
mov edx, 2
call fcn.004332a0
cmp byte [ebp - 0x40], 0
mov bl, 1
je 0x4d9e42
jmp 0x4daeae
call fcn.00528a30
test al, al
jne 0x4db9bc
mov byte [esi + 1], 1
jmp 0x4db9bc
movzx esi, cl
jmp 0x4db4fc
mov ecx, 0x57ce34
mov dword [ebp - 0x10], 0x21
call fcn.00526c90
jmp 0x4dbcb8
call dword [sym.imp.kernel32.dll_GetLastError]
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xd4], 0x57ef04
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0x108], 0
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x10], 0x1f
mov dword [ebp - 0x58], edx
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0xd4]
mov edx, 0x57ef38
mov dword [ebp - 0x54], fcn.004d23f0
mov dword [ebp - 0xc8], 1
call fcn.005268e0
jmp 0x4dbcb8
xor ecx, ecx
jmp 0x4dbb13
mov ecx, 1
jmp 0x4dbadd
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x21
call fcn.00526660
jmp 0x4dbcb8
mov ecx, 2
jmp 0x4dbafa
xor ecx, ecx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x10], 0x24
call fcn.00526660
jmp 0x4dbcb8
mov ecx, 1
mov edx, esi
mov byte [ebp - 0x72], 1
mov dword [ebp - 0x10], 0x22
call fcn.00526660
jmp 0x4dbcb8
mov dword [ebp - 0x10], 0x25
mov ecx, 1
xor edx, edx
push 0x57ee08
call fcn.00526910
add esp, 4
jmp 0x4dbcb8
mov edx, dword [ebp - 0x2c]
mov ecx, eax
push 0x57ee18
call fcn.00526980
add esp, 4
jmp 0x4dbcb8
mov dword [ebp - 0x10], 0x26
mov ecx, esi
push 0x57ee28
call fcn.00526910
add esp, 4
jmp 0x4dbcb8
mov dword [ebp - 0x10], 0x23
mov ecx, str.assertion_failed:_self.height___0
mov edx, 0x21
push 0x57d34c
call fcn.00526990
add esp, 4
jmp 0x4dbcb8
mov ecx, 1
mov edx, 4
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 2
call fcn.00526660
jmp 0x4dbcb8
mov dword [ebp - 0x10], 0x16
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_atkn1.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_runtime_blocking_schedule.rs
mov edx, 0x28
push 0x57f464
call fcn.00526990
add esp, 4
jmp 0x4dbcb8
mov dword [ebp - 0x10], 0x14
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_atkn1.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_runtime_blocking_schedule.rs
mov edx, 0x28
push 0x57f464
call fcn.00526990
add esp, 4
jmp 0x4dbcb8
call dword [sym.imp.kernel32.dll_GetLastError]
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x108]
mov dword [ebp - str.failure_getting_env_string_from_OS:_8], 0x57ee5c
mov dword [ebp - 0x550], 1
mov dword [ebp - 0x544], 0
mov byte [ebp - 0xd4], 0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x10], 0x29
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x54c], ecx
lea ecx, [ebp - 0x554]
mov edx, 0x57ee64
mov dword [ebp - 0x104], fcn.004d23f0
mov dword [ebp - 0x548], 1
call fcn.005268e0
jmp 0x4dbcb8
xor ecx, ecx
jmp 0x4dbc83
mov ecx, 1
mov edx, dword [ebp - 0x24]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 2
call fcn.00526660
jmp 0x4dbcb8
mov ecx, edi
push 0x57f454
call fcn.00526980
add esp, 4
jmp 0x4dbcb8
mov ecx, edi
push 0x57f454
call fcn.00526980
add esp, 4
ud2