Function at 0x4f0a60
Capabilities:
Create process on windows
Encode data using base64
Get common file path
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x550
mov esi, esp
mov dword [esi + 0x538], ebp
mov dword [esi + 0x53c], esp
mov dword [esi + 0x548], 0xffffffff
mov dword [esi + 0x544], 0x4f78c0
mov dword [esi + 0x74], ecx
mov eax, dword [ebp + 8]
mov dword [esi + 0x40], edx
mov ecx, dword fs:[0]
mov dword [esi + 0x540], ecx
lea ecx, [esi + 0x540]
mov dword fs:[0], ecx
mov dword [esi + 0x98], eax
mov al, byte [edx + 0x24]
mov edi, dword [edx + 0x20]
test al, al
sete cl
test edi, edi
sete dl
and dl, cl
mov byte [esi + 0x3c], dl
je 0x4f0ae0
mov dword [esi + 0x118], 0
jmp 0x4f1285
test al, al
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
jne 0x4f0c53
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test eax, eax
je 0x4f3188
mov dword [esi + 0x88], eax
mov dword [esi + 8], edi
mov dword [esi + 0x8c], eax
nop dword [eax]
lea eax, [esi + 0x88]
mov dword [esi + 0x548], 6
push eax
lea eax, [esi + 0xcc]
push eax
call fcn.004eef30
add esp, 8
cmp dword [esi + 0xcc], 0
lea edi, [esi + 0xd8]
lea ecx, [esi + 0xa0]
lea edx, [esi + 0x50]
je 0x4f0c44
mov eax, dword [edi + 8]
movsd xmm1, qword [esi + 0xcc]
movsd xmm0, qword [edi]
mov dword [esi + 0x548], 8
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xd4]
movsd qword [esi + 0x20], xmm1
movsd qword [esi + 0x30], xmm0
mov dword [esi + 0x28], eax
mov edi, dword [esi + 0x20]
add eax, edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], eax
mov word [esi + 0x58], 0
call fcn.004d9ab0
movsd xmm0, qword [esi + 0xcc]
mov eax, dword [esi + 0xd4]
lea ecx, [esi + 0x144]
mov byte [esi + 0x4d], 0
mov dword [esi + 0x548], 7
lea edx, [esi + 0x7c]
movsd qword [esi + 0x138], xmm0
mov dword [esi + 0x140], eax
mov eax, dword [esi + 0xa8]
movsd xmm0, qword [esi + 0xa0]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
lea ecx, [esi + 0xd8]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [esi + 0xa0]
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
movsd qword [esi + 0x50], xmm0
push eax
lea eax, [esi + 0x138]
push eax
call fcn.004da550
add esp, 8
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x4f0b20
mov ecx, dword [esi + 0xa4]
test ecx, ecx
je 0x4f0b20
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f0b20
push dword [esi + 0x88]
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x40]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
xor eax, eax
test edx, edx
sete al
cmove edi, edx
add eax, eax
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa8], edx
mov dword [esi + 0xb0], eax
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb8], edx
mov dword [esi + 0xc0], edi
mov dword [esi + 0x548], 1
nop dword [eax]
lea ecx, [esi + 0xa0]
mov dword [esi + 0x548], 1
call fcn.004d7de0
test eax, eax
je 0x4f125f
cmp dword [edx], 0
je 0x4f0d00
mov ebx, dword [eax + 8]
test ebx, ebx
js 0x4f3098
mov dword [esi + 8], eax
mov eax, dword [eax]
mov dword [esi + 0x10], edx
je 0x4f0da0
push 1
push ebx
mov dword [esi + 0xc], eax
call fcn.0043c290
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xc]
test edi, edi
jne 0x4f0da5
jmp 0x4f3130
mov ecx, dword [esi + 0x80]
test ecx, ecx
mov dword [esi + 0x78], ecx
je 0x4f0ca0
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov edx, dword [esi + 0x78]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x44], eax
lea ecx, [edx + 4]
mov dword [esi + 0x48], edx
movzx edx, word [edx + 0x192]
xor ebx, ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], edx
nop word [eax + eax]
cmp ebx, dword [esi + 0x10]
je 0x4f0d76
mov edi, ebx
lea eax, [ecx + 0x18]
inc ebx
mov dword [esi + 8], eax
push 1
push dword [ecx + 0x14]
push dword [ecx + 0xc]
push dword [esi + 0x14]
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
mov ecx, dword [esi + 8]
cmp eax, 3
je 0x4f0d40
cmp eax, 1
jne 0x4f0f10
mov dword [esi + 0x10], edi
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x48]
test eax, eax
je 0x4f0ca0
mov ecx, dword [esi + 0x10]
dec eax
mov edx, dword [edx + ecx*4 + 0x194]
jmp 0x4f0d22
mov edi, 1
push ebx
push eax
push edi
call fcn.0054ad50
add esp, 0xc
mov ecx, dword [esi + 8]
mov dword [esi + 0xcc], edi
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
xor ebx, ebx
mov edx, dword [ecx + 0x14]
mov eax, edx
mov edi, edx
add eax, edx
setae al
add edi, edx
jb 0x4f3070
mov bl, al
add ebx, ebx
test edi, edi
js 0x4f3084
mov ecx, dword [ecx + 0xc]
mov dword [esi + 0xc], edx
je 0x4f0e10
push ebx
push edi
mov dword [esi + 8], ecx
call fcn.0043c290
add esp, 8
mov ecx, dword [esi + 8]
test eax, eax
jne 0x4f0e1a
jmp 0x4f3064
mov eax, ebx
test eax, eax
je 0x4f3064
push edi
shr edi, 1
push ecx
push eax
mov ebx, eax
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 0xd4]
movsd xmm0, qword [esi + 0xcc]
mov dword [esi + 0x140], eax
mov eax, dword [esi + 0xc]
movsd qword [esi + 0x138], xmm0
mov dword [esi + 0x144], ebx
mov dword [esi + 0x148], edi
mov dword [esi + 0x14c], eax
mov eax, dword [esi + 0x10]
mov edi, dword [eax + 8]
test edi, edi
mov dword [esi + 8], edi
js 0x4f30a2
mov ebx, dword [eax]
je 0x4f0e90
push 1
push edi
call fcn.0043c290
add esp, 8
mov ecx, edi
mov edi, eax
test eax, eax
jne 0x4f0e97
jmp 0x4f313d
mov ecx, edi
mov edi, 1
push ecx
push ebx
push edi
mov ebx, ecx
call fcn.0054ad50
add esp, 0xc
lea eax, [esi + 0xcc]
mov dword [esi + 0xcc], edi
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0x548], 2
lea ecx, [esi + 0x50]
lea edx, [esi + 0x7c]
push eax
lea eax, [esi + 0x138]
push eax
call fcn.004da550
add esp, 8
mov eax, dword [esi + 0x50]
test eax, eax
je 0x4f0ca0
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x4f0ca0
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f0ca0
mov ebx, dword [esi + 0x18]
cmp eax, 2
jne 0x4f2fea
test ebx, ebx
mov byte [esi + 0x20], 0
je 0x4f100b
mov eax, dword [esi + 0x48]
lea edx, [esi + 0xcc]
dec ebx
mov eax, dword [eax + edi*4 + 0x194]
je 0x4f0f5b
nop dword [eax + eax]
movzx ecx, word [eax + 0x192]
dec ebx
mov eax, dword [eax + ecx*4 + 0x194]
jne 0x4f0f40
mov dword [esi + 0x548], 1
movzx ecx, word [eax + 0x192]
mov dword [esi + 0xcc], 0
mov dword [esi + 0xd0], eax
lea eax, [esi + 0x20]
mov dword [esi + 0x548], 1
dec ecx
mov dword [esi + 0xd4], ecx
lea ecx, [esi + 0x138]
push eax
call fcn.004dc4f0
add esp, 4
movsd xmm1, qword [esi + 0x148]
mov eax, dword [esi + 0x158]
movsd xmm0, qword [esi + 0x150]
movsd xmm2, qword [esi + 0x138]
mov ecx, dword [esi + 0x160]
mov edx, dword [esi + 0x164]
movsd qword [esi + 0x60], xmm1
movsd xmm1, qword [esi + 0x140]
mov dword [esi + 0x70], eax
movsd qword [esi + 0x68], xmm0
movsd qword [esi + 0x50], xmm2
mov eax, dword [esi + 0x15c]
movsd qword [esi + 0x58], xmm1
movzx edi, word [ecx + 0x192]
cmp edx, edi
jb 0x4f104d
nop
mov edi, dword [ecx]
test edi, edi
je 0x4f104b
movzx edx, word [ecx + 0x190]
inc eax
mov ecx, edi
cmp dx, word [edi + 0x192]
jae 0x4f0ff0
jmp 0x4f104d
mov eax, dword [esi + 0x48]
mov dword [esi + 0xcc], 0
mov dword [esi + 0x548], 1
lea ecx, [esi + 0x138]
lea edx, [esi + 0xcc]
mov dword [esi + 0xd0], eax
lea eax, [esi + 0x20]
mov dword [esi + 0xd4], edi
push eax
call fcn.004dc4f0
add esp, 4
jmp 0x4f1145
xor ecx, ecx
lea edi, [edx + edx*2]
test eax, eax
movsd xmm0, qword [ecx + edi*8 + 0x14]
mov dword [esi + 8], edi
movsd qword [esi + 0xdc], xmm0
movsd xmm0, qword [ecx + edi*8 + 4]
movsd xmm1, qword [ecx + edi*8 + 0xc]
movsd qword [esi + 0xcc], xmm0
movsd xmm0, qword [esi + 0x60]
movsd qword [esi + 0xd4], xmm1
movsd qword [ecx + edi*8 + 0x14], xmm0
movsd xmm0, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x58]
movsd qword [ecx + edi*8 + 0xc], xmm1
movsd qword [ecx + edi*8 + 4], xmm0
mov ebx, dword [ecx + edi*4 + 0x114]
lea edi, [esi + 0xe4]
mov dword [edi + 8], ebx
mov ebx, edi
mov edi, dword [esi + 8]
movsd xmm0, qword [ecx + edi*4 + 0x10c]
movsd qword [ebx], xmm0
lea ebx, [esi + 0x68]
movsd xmm0, qword [ebx]
movsd qword [ecx + edi*4 + 0x10c], xmm0
mov ebx, dword [ebx + 8]
mov dword [ecx + edi*4 + 0x114], ebx
je 0x4f10f9
dec eax
je 0x4f10f9
mov ecx, dword [ecx + edx*4 + 0x198]
nop dword [eax + eax]
mov ecx, dword [ecx + 0x194]
dec eax
jne 0x4f10f0
movsd xmm1, qword [esi + 0xdc]
mov eax, dword [esi + 0xec]
movsd xmm0, qword [esi + 0xe4]
movsd xmm2, qword [esi + 0xcc]
movsd qword [esi + 0x148], xmm1
movsd xmm1, qword [esi + 0xd4]
mov dword [esi + 0x158], eax
movsd qword [esi + 0x150], xmm0
movsd qword [esi + 0x138], xmm2
movsd qword [esi + 0x140], xmm1
movsd xmm1, qword [esi + 0x148]
mov eax, dword [esi + 0x158]
movsd xmm0, qword [esi + 0x150]
movsd xmm2, qword [esi + 0x138]
dec dword [esi + 0x84]
cmp byte [esi + 0x20], 0
mov edx, dword [esi + 0x44]
movsd qword [esi + 0xdc], xmm1
movsd xmm1, qword [esi + 0x140]
mov dword [esi + 0xec], eax
movsd qword [esi + 0xe4], xmm0
movsd qword [esi + 0xcc], xmm2
movsd qword [esi + 0xd4], xmm1
je 0x4f11d1
test edx, edx
je 0x4f314a
mov ecx, dword [esi + 0x78]
dec edx
mov eax, dword [ecx + 0x194]
mov dword [esi + 0x80], eax
mov dword [esi + 0x7c], edx
mov dword [eax], 0
push 4
push 0x1c4
push ecx
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x4f0ca0
mov edx, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd0]
mov ebx, dword [esi + 0xdc]
mov edi, dword [esi + 0xe4]
mov dword [esi + 8], edx
mov edx, dword [esi + 0xe8]
test ecx, ecx
je 0x4f121a
push 1
push ecx
push eax
mov dword [esi + 0x10], edi
mov edi, edx
call fcn.0043c2a0
mov edx, edi
mov edi, dword [esi + 0x10]
add esp, 0xc
test ebx, ebx
je 0x4f123e
cmp dword [esi + 8], 0
je 0x4f123e
add ebx, ebx
je 0x4f123e
push 2
push ebx
push dword [esi + 8]
mov ebx, edi
mov edi, edx
call fcn.0043c2a0
mov edx, edi
mov edi, ebx
add esp, 0xc
test edi, edi
je 0x4f0ca0
test edx, edx
je 0x4f0ca0
push 1
push edx
push edi
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f0c92
movsd xmm0, qword [esi + 0x7c]
mov eax, dword [esi + 0x84]
mov dl, byte [esi + 0x3c]
movsd qword [esi + 0x11c], xmm0
mov dword [esi + 0x124], eax
mov dword [esi + 0x118], 1
test dl, dl
mov dword [esi + 0xd4], 0
mov dword [esi + 0xd0], 0
mov dword [esi + 0xdc], 0
mov dword [esi + 0xd8], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xe0], 0
mov dword [esi + 0xec], 0
mov dword [esi + 0xe8], 0
mov dword [esi + 0xf4], 0
mov dword [esi + 0xf0], 0
mov dword [esi + 0xfc], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0x104], 0xffffffff
mov dword [esi + 0x108], 0xffffffff
mov dword [esi + 0x10c], 0xffffffff
mov dword [esi + 0xcc], 0x44
mov dword [esi + 0xf8], 0x100
je 0x4f133a
xor edi, edi
jmp 0x4f14f9
push 1
push 4
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4f316d
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], 4
mov dword [esi + 0x140], 0
mov dword [esi + 0x548], 0x17
lea ecx, [esi + 0x138]
mov edx, str.PATHlibrary_std_src_sys_common_thread_info.rs
push 4
call fcn.004eac00
add esp, 4
mov eax, dword [esi + 0x140]
movsd xmm0, qword [esi + 0x138]
lea edx, [esi + 0x138]
mov dword [esi + 0x548], 0xb
mov dword [esi + 0x28], eax
movsd qword [esi + 0x20], xmm0
mov ecx, dword [esi + 0x20]
add eax, ecx
mov dword [esi + 0x138], ecx
lea ecx, [esi + 0xa0]
mov dword [esi + 0x13c], eax
mov word [esi + 0x140], 0
call fcn.004d9ab0
movsd xmm0, qword [esi + 0x20]
mov eax, dword [esi + 0x28]
xor edi, edi
movsd qword [esi + 0x50], xmm0
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0xa8]
movsd xmm0, qword [esi + 0xa0]
movsd qword [esi + 0x5c], xmm0
mov dword [esi + 0x64], eax
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x120]
test eax, eax
je 0x4f14c0
mov ecx, dword [esi + 0x11c]
mov dword [esi + 0x18], ecx
mov dword [esi + 8], eax
movzx eax, word [eax + 0x192]
mov ebx, 0x108
mov edi, 0xffffffff
mov dword [esi + 0x48], eax
neg eax
mov dword [esi + 0x10], eax
nop word cs:[eax + eax]
mov eax, dword [esi + 0x10]
add eax, edi
cmp eax, 0xffffffff
je 0x4f1480
push 1
mov eax, dword [esi + 8]
push dword [eax + ebx*2 - 0x1f8]
push dword [eax + ebx*2 - 0x200]
push dword [esi + 0x14]
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
add ebx, 0xc
inc edi
cmp eax, 3
je 0x4f1440
cmp eax, 1
jne 0x4f14a1
jmp 0x4f1483
mov edi, dword [esi + 0x48]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 8]
sub ecx, 1
jb 0x4f1979
mov eax, dword [eax + edi*4 + 0x194]
mov dword [esi + 0x18], ecx
jmp 0x4f141a
cmp eax, 2
jne 0x4f30b6
mov eax, dword [esi + 8]
mov edi, dword [eax + ebx - 8]
mov eax, dword [eax + ebx]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x4f14c7
jmp 0x4f14da
mov eax, dword [esi + 0x54]
test eax, eax
je 0x4f14da
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x4f14da
push 1
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x60]
test eax, eax
je 0x4f14f9
cmp dword [esi + 0xc], 0
je 0x4f14f9
add eax, eax
je 0x4f14f9
push 2
push eax
push dword [esi + 0xc]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x40]
mov ecx, 0x1402
mov dword [esi + 8], 0x5f77cc
mov edx, dword [eax + 8]
mov ebx, dword [eax]
test edx, edx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], edx
je 0x4f18fa
mov ecx, 0x4efb20
cmp edx, 4
mov dword [esi + 0x14], edi
jb 0x4f154b
cmp dword [ebx], 0x5c3f5c5c
mov eax, 0x4efb40
mov ecx, 0x4efb20
mov dword [esi + 0x548], 0xa
cmove ecx, eax
movzx eax, byte [edx + ebx - 1]
mov dword [esi + 0x10], edx
mov dword [esi + 0xc], ebx
mov byte [esi + 7], 1
mov dword [esi + 0x548], 0xa
push eax
call ecx
add esp, 4
test al, al
jne 0x4f18f5
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
xor ecx, ecx
mov edx, 0
cmp edi, 4
jb 0x4f15ed
mov al, byte [edi + ebx - 4]
mov edx, eax
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
cmp dl, 0x2e
jne 0x4f15eb
mov al, byte [ebx + edi - 3]
mov edx, eax
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
cmp dl, 0x65
jne 0x4f15eb
mov al, byte [ebx + edi - 2]
mov edx, eax
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
cmp dl, 0x78
jne 0x4f15eb
mov al, byte [ebx + edi - 1]
mov edx, eax
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
cmp dl, 0x65
sete dl
jmp 0x4f15ed
xor edx, edx
lea eax, [ebx + edi]
mov dword [esi + 8], eax
nop word cs:[eax + eax]
nop dword [eax]
cmp edi, ecx
je 0x4f167c
movzx eax, byte [ebx + ecx]
cmp al, 0x2f
je 0x4f1611
inc ecx
cmp al, 0x5c
jne 0x4f1600
test dl, dl
je 0x4f173d
test edi, edi
js 0x4f3202
push 1
push edi
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4f317b
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], edi
mov dword [esi + 0x140], 0
mov dword [esi + 0x548], 0x15
lea ecx, [esi + 0x138]
mov edx, ebx
push edi
call fcn.004eac00
add esp, 4
mov ecx, dword [esi + 0x138]
mov eax, dword [esi + 0x13c]
mov edx, dword [esi + 0x140]
jmp 0x4f19f2
mov ecx, ebx
xor ebx, ebx
jmp 0x4f169b
xor ebx, ebx
test dx, dx
je 0x4f18ee
mov dx, 1
test bx, bx
jne 0x4f1690
cmp ecx, dword [esi + 8]
je 0x4f1933
movzx eax, byte [ecx]
movzx edi, al
test al, al
js 0x4f16be
inc ecx
xor ebx, ebx
mov edx, edi
jmp 0x4f1692
movzx ebx, byte [ecx + 1]
and edi, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x4f1705
mov dword [esi + 0x18], ecx
movzx ecx, byte [ecx + 2]
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
cmp al, 0xf0
mov ebx, ecx
jb 0x4f1717
mov ecx, dword [esi + 0x18]
and edi, 7
shl ebx, 6
shl edi, 0x12
movzx eax, byte [ecx + 3]
add ecx, 4
and eax, 0x3f
or eax, ebx
or edi, eax
cmp edi, 0xffff
jbe 0x4f16b8
jmp 0x4f172a
shl edi, 6
add ecx, 2
or edi, ebx
cmp edi, 0xffff
ja 0x4f172a
jmp 0x4f16b8
mov ecx, dword [esi + 0x18]
shl edi, 0xc
or edi, ebx
add ecx, 3
cmp edi, 0xffff
jbe 0x4f16b8
and edi, 0x3ff
or edi, 0xdc00
mov ebx, edi
jmp 0x4f1692
test edi, edi
js 0x4f3217
push 1
push edi
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4f317b
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], edi
mov dword [esi + 0x140], 0
mov dword [esi + 0x548], 0x16
lea ecx, [esi + 0x138]
mov edx, ebx
push edi
call fcn.004eac00
add esp, 4
mov eax, dword [esi + 0x140]
movsd xmm0, qword [esi + 0x138]
mov dword [esi + 0x548], 0x14
lea ecx, [esi + 0x138]
mov edx, str..exeprogram_not_found
mov dword [esi + 0x58], eax
movsd qword [esi + 0x50], xmm0
mov dword [esi + 0x140], eax
movsd qword [esi + 0x138], xmm0
push 4
call fcn.004eac00
add esp, 4
mov ecx, dword [esi + 0x140]
movsd xmm0, qword [esi + 0x138]
mov byte [esi + 0x1d], 1
mov dword [esi + 0x548], 0x12
mov dword [esi + 0x58], ecx
movsd qword [esi + 0x50], xmm0
mov dword [esi + 0x14], ecx
mov eax, dword [esi + 0x50]
push ecx
mov dword [esi + 0xc], eax
push eax
lea eax, [esi + 0x138]
push eax
call fcn.004ee9a0
add esp, 0xc
cmp byte [esi + 0x138], 0
je 0x4f191b
cmp byte [esi + 0x13c], 3
jne 0x4f1866
mov ecx, dword [esi + 0x140]
mov eax, dword [ecx]
mov dword [esi + 8], ecx
mov ecx, dword [ecx + 4]
mov dword [esi + 0x548], 0x13
push eax
call dword [ecx]
add esp, 4
mov edi, dword [esi + 8]
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4f1859
push dword [eax + 8]
push ecx
push dword [edi]
call fcn.0043c2a0
add esp, 0xc
push 4
push 0xc
push edi
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov dword [esi + 0x548], 0x12
mov byte [esi + 0x1d], 1
push edx
push ecx
call fcn.004e7360
add esp, 8
test eax, eax
je 0x4f1966
cmp edx, 2
jne 0x4f18a0
movzx ecx, word [eax]
cmp ecx, 0x2e2e
je 0x4f19bc
xor ecx, ecx
mov dword [esi + 8], eax
mov ebx, eax
mov eax, edx
nop dword [eax]
cmp eax, ecx
je 0x4f196b
cmp byte [ebx + eax - 1], 0x2e
lea edi, [ebx - 1]
mov edx, ecx
lea ecx, [ecx + 1]
mov ebx, edi
jne 0x4f18b0
mov ebx, eax
sub ebx, ecx
mov dword [esi + 0x10], ebx
inc ebx
cmp eax, ebx
jb 0x4f3247
cmp eax, ecx
jne 0x4f19ad
mov edi, eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
jmp 0x4f19c4
mov dword [esi + 8], str.nul_byte_found_in_provided_data
mov ecx, 0x1402
mov eax, dword [esi + 0x74]
mov edx, dword [esi + 8]
cmp byte [esi + 0x3c], 0
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
mov dword [eax], 1
je 0x4f1cad
jmp 0x4f1d17
cmp byte [esi + 0x139], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
jne 0x4f19e5
jmp 0x4f1876
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
cmp edx, 7
ja 0x4f198b
mov ecx, dword [esi + 0x14]
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [edi + eax], 0x2e
je 0x4f23b1
inc eax
cmp edx, eax
jne 0x4f1950
xor eax, eax
jmp 0x4f23b6
mov ecx, dword [esi + 0xc]
jmp 0x4f19e2
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edi, eax
mov edx, eax
xor eax, eax
jmp 0x4f19c6
xor edi, edi
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x4f14c7
jmp 0x4f14da
mov byte [esi + 7], 1
mov dword [esi + 0x548], 0xa
push edx
push edi
push 0x2e
call fcn.00506ac0
add esp, 0xc
mov ecx, dword [esi + 0x14]
jmp 0x4f23b6
lea ebx, [edi + eax + 1]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x10]
jmp 0x4f19c6
mov ecx, dword [esi + 0xc]
mov edi, 2
xor ebx, ebx
test eax, eax
cmovne ebx, eax
test ebx, ebx
je 0x4f19e2
test eax, eax
cmove edi, edx
mov edx, dword [esi + 0x14]
add ebx, edi
sub ebx, ecx
cmp edx, ebx
cmovae edx, ebx
jmp 0x4f19e5
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x54]
mov dword [esi + 0x548], 0x19
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x134], edx
mov dword [esi + 0x548], 0x19
mov dword [esi + 0x14], edx
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
mov al, byte [eax + 0x51]
mov byte [esi + 0x18], al
mov eax, dword [0x5f5ba8]
mov dword [esi + 8], edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], 0
mov dword [esi + 0x78], eax
mov dword [esi + 0x140], 0
push edx
mov dword [esi + 0xc], ecx
push ecx
call fcn.004e7360
add esp, 8
test eax, eax
je 0x4f1b7d
cmp edx, 2
jne 0x4f1a71
movzx ecx, word [eax]
cmp ecx, 0x2e2e
je 0x4f1b7d
add eax, edx
mov edi, 4
nop dword [eax + eax]
lea ecx, [edx + edi]
cmp ecx, 4
je 0x4f1b7d
cmp byte [eax + edi - 5], 0x2e
lea ecx, [edi - 1]
mov edi, ecx
jne 0x4f1a80
lea edi, [edx + ecx - 3]
cmp edx, edi
jb 0x4f322c
add edx, ecx
xor ebx, ebx
lea eax, [eax + ecx - 3]
cmp edx, 4
cmove eax, ebx
je 0x4f1b7f
test ecx, ecx
jne 0x4f1b7f
mov dl, byte [eax]
mov ecx, edx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
cmp cl, 0x63
je 0x4f1b14
cmp cl, 0x62
jne 0x4f1b7d
mov cl, byte [eax + 1]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x61
jne 0x4f1b7d
mov al, byte [eax + 2]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x74
jmp 0x4f1b42
mov cl, byte [eax + 1]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6d
jne 0x4f1b7d
mov al, byte [eax + 2]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x64
mov dword [esi + 0x548], 0x19
jne 0x4f1b7d
lea ecx, [esi + 0x138]
xor edx, edx
push 1
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x138]
mov ecx, dword [esi + 0x140]
mov bl, 1
mov word [eax + ecx*2], 0x22
inc ecx
mov dword [esi + 0x140], ecx
jmp 0x4f1b7f
xor ebx, ebx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x48], ebx
mov dword [esi + 0x548], 0x19
lea ecx, [esi + 0x138]
push 0
push dword [esi + 0x14]
call fcn.004f44e0
add esp, 8
mov ebx, eax
mov edi, edx
cmp bl, 4
jne 0x4f1c4a
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
shl eax, 4
add eax, ecx
mov dword [esi + 0x10], eax
mov al, byte [esi + 0x18]
xor al, 1
movzx eax, al
mov dword [esi + 0xc], eax
nop dword [eax + eax]
cmp ecx, dword [esi + 0x10]
je 0x4f1d40
mov edx, dword [esi + 0x140]
mov dword [esi + 8], ecx
cmp edx, dword [esi + 0x13c]
jne 0x4f1c03
lea ecx, [esi + 0x138]
push 1
call fcn.0056fb00
add esp, 4
mov edx, dword [esi + 0x140]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x138]
mov edi, 2
mov word [eax + edx*2], 0x20
inc edx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x140], edx
cmp dword [ecx], 1
mov edx, dword [ecx + 4]
cmove eax, edi
mov edi, ecx
lea ecx, [esi + 0x138]
push eax
push dword [edi + 0xc]
call fcn.004f44e0
add esp, 8
mov ecx, dword [esi + 8]
mov ebx, eax
add ecx, 0x10
cmp bl, 4
je 0x4f1bd0
mov edi, edx
mov eax, dword [esi + 0x13c]
test eax, eax
je 0x4f1c6e
mov ecx, dword [esi + 0x138]
test ecx, ecx
je 0x4f1c6e
add eax, eax
je 0x4f1c6e
push 2
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x74]
mov dword [eax + 4], ebx
xor ebx, ebx
mov dword [eax + 8], edi
mov dword [eax], 1
mov eax, dword [esi + 0x130]
test eax, eax
je 0x4f1c9f
mov ecx, dword [esi + 0x12c]
test ecx, ecx
je 0x4f1c9f
push 1
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
cmp dword [esi + 0x118], 0
sete al
or bl, al
jne 0x4f1d17
mov ecx, dword [esi + 0x120]
test ecx, ecx
je 0x4f1ce9
mov edx, dword [esi + 0x11c]
mov eax, dword [esi + 0x124]
mov dword [esi + 0x548], 0
mov dword [esi + 0x13c], edx
mov dword [esi + 0x140], ecx
mov dword [esi + 0x14c], edx
mov dword [esi + 0x150], ecx
xor ecx, ecx
jmp 0x4f1cf0
xor eax, eax
mov ecx, 2
mov dword [esi + 0x138], ecx
mov dword [esi + 0x148], ecx
lea ecx, [esi + 0x138]
mov dword [esi + 0x158], eax
mov dword [esi + 0x548], 0
call fcn.004d8950
cmp dword [esi + 0x98], 3
jne 0x4f1d2c
push dword [esi + 0x9c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0x540]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [esi + 0x48], 0
je 0x4f1d79
mov edx, dword [esi + 0x140]
cmp edx, dword [esi + 0x13c]
jne 0x4f1d6a
lea ecx, [esi + 0x138]
push 1
call fcn.0056fb00
add esp, 4
mov edx, dword [esi + 0x140]
mov eax, dword [esi + 0x138]
mov word [eax + edx*2], 0x22
inc edx
jmp 0x4f1d7f
mov edx, dword [esi + 0x140]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
cmp edx, ecx
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov dword [esi + 0x90], edx
jne 0x4f1dcb
mov byte [esi + 0x1f], 1
mov dword [esi + 0x548], 0x1a
lea ecx, [esi + 0x88]
push 1
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x88]
mov edx, dword [esi + 0x90]
mov ecx, dword [esi + 0x40]
mov word [eax + edx*2], 0
inc edx
mov eax, 0x400
mov dword [esi + 0x90], edx
mov edx, 0x608
cmp byte [ecx + 0x50], 0
cmove edx, eax
or edx, dword [ecx + 0x34]
cmp byte [esi + 0x3c], 0
mov dword [esi + 0x48], edx
je 0x4f1eea
mov eax, dword [0x5f5ba8]
mov dword [esi + 0x18], 0
xor edx, edx
xor edi, edi
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x30], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edx
mov dword [esi + 0x10], edi
lea eax, [ecx + 0x28]
mov ecx, dword [ecx + 0x28]
test ecx, ecx
cmove eax, ecx
je 0x4f2394
mov edx, dword [eax]
mov eax, dword [eax + 8]
xor ebx, ebx
add eax, edx
mov dword [esi + 0x78], edx
mov dword [esi + 8], eax
jmp 0x4f1e4b
xor ebx, ebx
test di, di
je 0x4f2375
mov di, 1
test bx, bx
jne 0x4f1e40
cmp edx, dword [esi + 8]
je 0x4f2901
movzx ecx, byte [edx]
movzx eax, cl
test cl, cl
js 0x4f1e6e
inc edx
xor ebx, ebx
mov edi, eax
jmp 0x4f1e42
movzx ebx, byte [edx + 1]
and eax, 0x1f
and ebx, 0x3f
cmp cl, 0xdf
jbe 0x4f1eb6
mov dword [esi + 0xc], edx
movzx edx, byte [edx + 2]
shl ebx, 6
and edx, 0x3f
or edx, ebx
cmp cl, 0xf0
mov ebx, edx
jb 0x4f1ec7
mov edx, dword [esi + 0xc]
and eax, 7
shl ebx, 6
shl eax, 0x12
movzx ecx, byte [edx + 3]
add edx, 4
and ecx, 0x3f
or ecx, ebx
or eax, ecx
cmp eax, 0xffff
jbe 0x4f1e68
jmp 0x4f1ed9
shl eax, 6
add edx, 2
or eax, ebx
cmp eax, 0xffff
ja 0x4f1ed9
jmp 0x4f1e68
mov edx, dword [esi + 0xc]
shl eax, 0xc
or eax, ebx
add edx, 3
cmp eax, 0xffff
jbe 0x4f1e68
and eax, 0x3ff
or eax, 0xdc00
mov ebx, eax
jmp 0x4f1e42
mov ebx, dword [esi + 0x124]
mov edx, dword [esi + 0x11c]
mov eax, dword [0x5f5ba8]
mov edi, dword [esi + 0x120]
xor ecx, ecx
test ebx, ebx
mov dword [esi + 0x7c], edx
mov dword [esi + 0x80], edi
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], 0
mov dword [esi + 0x84], ebx
mov dword [esi + 0x38], 0
jne 0x4f1f66
mov dword [esi + 8], edx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], edi
mov byte [esi + 0x1e], 1
mov dword [esi + 0x548], 0x1b
lea ecx, [esi + 0x30]
xor edx, edx
push 1
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
mov word [eax + ecx*2], 0
inc ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
xor eax, eax
test edi, edi
mov dword [esi + 0x110], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x548], 0x1c
sete al
cmove ebx, edi
add eax, eax
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], edx
mov dword [esi + 0x140], edi
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], edx
lea edx, [esi + 0x138]
mov dword [esi + 0x150], edi
mov dword [esi + 0x158], ebx
call fcn.004db6e0
mov eax, dword [esi + 0x54]
test eax, eax
je 0x4f2e3c
mov ecx, dword [esi + 0x58]
lea ecx, [ecx + ecx*2]
mov edi, dword [eax + ecx*8 + 4]
test edi, edi
je 0x4f2e3c
mov edx, dword [eax + ecx*8 + 8]
mov ebx, dword [eax + ecx*8 + 0xc]
mov dword [esi + 0x94], edi
mov dword [esi + 0x44], edx
mov edx, dword [eax + ecx*8 + 0x10]
add ebx, edi
mov dword [esi + 8], ebx
mov dword [esi + 0x14], edx
mov edx, dword [eax + ecx*8 + 0x14]
mov dword [esi + 0x18], edx
mov edx, dword [eax + ecx*8 + 0x18]
mov dword [esi + 0x128], edx
mov edx, dword [eax + ecx*4 + 0x114]
mov dword [esi + 0x28], edx
movsd xmm0, qword [eax + ecx*4 + 0x10c]
xor ecx, ecx
movsd qword [esi + 0x20], xmm0
jmp 0x4f203b
xor ecx, ecx
test bx, bx
je 0x4f231f
mov bx, 1
test cx, cx
jne 0x4f2030
cmp edi, dword [esi + 8]
je 0x4f20df
movzx edx, byte [edi]
movzx eax, dl
test dl, dl
js 0x4f205e
inc edi
xor ecx, ecx
mov ebx, eax
jmp 0x4f2032
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
cmp dl, 0xdf
jbe 0x4f20aa
mov dword [esi + 0xc], edi
movzx edi, byte [edi + 2]
shl ecx, 6
and edi, 0x3f
or edi, ecx
cmp dl, 0xf0
mov dword [esi + 0x10], edi
jb 0x4f20bb
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
and eax, 7
shl eax, 0x12
movzx ecx, byte [edi + 3]
shl edx, 6
add edi, 4
and ecx, 0x3f
or ecx, edx
or eax, ecx
cmp eax, 0xffff
jbe 0x4f2058
jmp 0x4f20ce
add edi, 2
shl eax, 6
or eax, ecx
cmp eax, 0xffff
ja 0x4f20ce
jmp 0x4f2058
mov edi, dword [esi + 0xc]
shl eax, 0xc
add eax, dword [esi + 0x10]
add edi, 3
cmp eax, 0xffff
jbe 0x4f2058
and eax, 0x3ff
or eax, 0xdc00
mov ecx, eax
jmp 0x4f2032
mov eax, dword [esi + 0x44]
test eax, eax
je 0x4f20f7
push 1
push eax
push dword [esi + 0x94]
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x128]
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x110]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edx
lea eax, [ecx + ebx*2]
mov dword [esi + 0x58], ecx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x5c], eax
sub ecx, edi
cmp ecx, ebx
mov ecx, dword [esi + 0x3c]
jae 0x4f2148
mov dword [esi + 0x548], 0x1f
lea ecx, [esi + 0x30]
mov edx, edi
push ebx
call fcn.0056fb00
add esp, 4
mov ecx, dword [esi + 0x30]
mov edi, dword [esi + 0x38]
mov ebx, dword [esi + 0x128]
lea eax, [ebx + ebx]
mov dword [esi + 0x3c], ecx
lea ecx, [ecx + edi*2]
push eax
push dword [esi + 0x14]
push ecx
call fcn.0054ad50
add esp, 0xc
mov eax, dword [esi + 0x18]
add edi, ebx
mov dword [esi + 0x38], edi
test eax, eax
je 0x4f217c
add eax, eax
je 0x4f217c
push 2
push eax
push dword [esi + 0x14]
call fcn.0043c2a0
add esp, 0xc
cmp edi, dword [esi + 0x34]
jne 0x4f21a6
mov byte [esi + 0x2f], 1
mov dword [esi + 0x548], 0x1d
lea ecx, [esi + 0x30]
mov edx, edi
push 1
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x38]
jmp 0x4f21a9
mov eax, dword [esi + 0x3c]
mov word [eax + edi*2], 0x3d
inc edi
xor ebx, ebx
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
mov dword [esi + 0x38], edi
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x14], edx
mov dword [esi + 0x18], eax
add eax, edx
mov dword [esi + 8], eax
jmp 0x4f21d9
xor ebx, ebx
test di, di
je 0x4f288f
mov di, 1
test bx, bx
jne 0x4f21ce
cmp edx, dword [esi + 8]
je 0x4f2270
movzx eax, byte [edx]
movzx ecx, al
test al, al
js 0x4f21f8
inc edx
jmp 0x4f2254
movzx ebx, byte [edx + 1]
and ecx, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x4f2237
mov dword [esi + 0x10], edx
movzx edx, byte [edx + 2]
shl ebx, 6
and edx, 0x3f
or edx, ebx
cmp al, 0xf0
mov ebx, edx
jb 0x4f2241
mov edx, dword [esi + 0x10]
and ecx, 7
shl ebx, 6
shl ecx, 0x12
movzx eax, byte [edx + 3]
add edx, 4
and eax, 0x3f
or eax, ebx
or ecx, eax
jmp 0x4f224c
shl ecx, 6
add edx, 2
or ecx, ebx
jmp 0x4f224c
mov edx, dword [esi + 0x10]
shl ecx, 0xc
or ecx, ebx
add edx, 3
cmp ecx, 0xffff
ja 0x4f225d
xor ebx, ebx
mov edi, ecx
jmp 0x4f21d0
and ecx, 0x3ff
or ecx, 0xdc00
mov ebx, ecx
jmp 0x4f21d0
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x548], 0x1e
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], edx
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x50], edx
lea edx, [esi + 0x50]
mov dword [esi + 0x54], ecx
lea ecx, [esi + 0x30]
mov word [esi + 0x58], 0
call fcn.004dcb40
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4f22c4
push 1
push eax
push dword [esi + 0x14]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x38]
cmp eax, dword [esi + 0x34]
jne 0x4f22ec
mov byte [esi + 0x2f], 0
mov dword [esi + 0x548], 0x1d
lea ecx, [esi + 0x30]
mov edx, eax
push 1
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x30]
lea ecx, [esi + 0x50]
lea edx, [esi + 0x138]
mov word [edi + eax*2], 0
inc eax
mov dword [esi + 0x3c], edi
mov dword [esi + 0x548], 0x1c
mov dword [esi + 0x110], eax
mov dword [esi + 0x38], eax
call fcn.004db6e0
jmp 0x4f1fbd
mov eax, dword [esi + 0x44]
test eax, eax
je 0x4f2337
push 1
push eax
push dword [esi + 0x94]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4f2351
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x4f2351
push 1
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4f28ae
cmp dword [esi + 0x14], 0
je 0x4f28ae
add eax, eax
je 0x4f28ae
push 2
jmp 0x4f2898
mov eax, dword [esi + 0x74]
mov edi, dword [esi + 0x10]
mov dword [eax + 4], 0x1402
mov dword [eax + 8], 0x5f77a4
mov dword [eax], 1
jmp 0x4f2dee
mov dword [esi + 0x548], 0x22
mov dword [esi + 0x94], 0
xor ecx, ecx
xor edx, edx
jmp 0x4f2978
mov eax, 1
cmp eax, 1
lea edi, [esi + 0x88]
lea edx, [esi + 0x114]
mov dword [esi + 0x548], 0xa
sete byte [esi + 0x114]
test ecx, ecx
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], edx
je 0x4f24a7
mov eax, dword [esi + 0x48]
mov dword [esi + 0x138], ecx
mov byte [esi + 7], 1
add eax, ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x13c], eax
lea eax, [esi + 0x138]
mov word [esi + 0x140], 0
mov byte [esi + 0x144], 1
push eax
push ecx
call fcn.004ef110
add esp, 8
jmp 0x4f2438
lea eax, [esi + 0x138]
mov byte [esi + 7], 1
push eax
lea eax, [esi + 0x50]
push eax
call fcn.004ef110
add esp, 8
mov eax, dword [esi + 0x50]
test eax, eax
je 0x4f24a7
mov edx, dword [esi + 0x58]
mov ecx, dword [esi + 0x54]
test edx, edx
je 0x4f2492
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edx
mov byte [esi + 7], 1
lea ecx, [esi + 0xa0]
lea edx, [esi + 0x7c]
push eax
call fcn.004f39b0
add esp, 4
mov ecx, dword [esi + 0xa0]
test ecx, ecx
jne 0x4f26a4
lea eax, [esi + 0x138]
mov byte [esi + 7], 1
push eax
lea eax, [esi + 0x50]
push eax
call fcn.004ef110
add esp, 8
jmp 0x4f2438
test ecx, ecx
je 0x4f2421
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f2421
lea ecx, [esi + 0x138]
mov byte [esi + 7], 1
call fcn.004ef380
cmp dword [esi + 0x138], 0
je 0x4f262d
lea ecx, [esi + 0x138]
mov byte [esi + 7], 1
call fcn.004d90d0
push 0x400
push 0
lea eax, [esi + 0x138]
push eax
call fcn.0054c590
add esp, 0xc
mov eax, dword [0x5f5ba8]
mov edi, 0x200
mov dword [esi + 8], 0
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], eax
cmp edi, 0x201
jae 0x4f2532
jmp 0x4f2580
cmp ebx, edi
mov edi, ebx
jb 0x4f25da
cmp edi, 0x201
jb 0x4f2580
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x24]
mov eax, edi
sub eax, edx
sub ecx, edx
cmp ecx, eax
jae 0x4f2564
mov dword [esi + 0x10], edi
mov dword [esi + 0x548], 0x10
lea ecx, [esi + 0x20]
push eax
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x10]
mov dword [esi + 0x14], eax
mov ebx, dword [esi + 0x14]
mov dword [esi + 0x28], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
jmp 0x4f258d
lea ebx, [esi + 0x138]
mov dword [esi + 0xc], 0x200
mov dword [esi + 0x10], ebx
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ebx, eax
test eax, eax
jne 0x4f25b4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4f26b5
cmp ebx, edi
jne 0x4f2520
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4f2520
add edi, edi
cmp edi, 0x201
jb 0x4f2580
jmp 0x4f2532
mov eax, dword [esi + 0xc]
mov dword [esi + 0x548], 0x10
cmp ebx, eax
ja 0x4f3266
lea eax, [esi + 0x50]
push ebx
push dword [esi + 0x10]
push eax
call fcn.004e4fb0
add esp, 0xc
lea eax, [esi + 0x50]
lea ecx, [esi + 0xa0]
lea edx, [esi + 0x7c]
push eax
call fcn.004f39b0
add esp, 4
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0xa4]
mov edx, dword [esi + 0xa8]
mov bl, 1
jmp 0x4f26bf
mov ecx, dword [esi + 0x144]
movsd xmm0, qword [esi + 0x13c]
mov byte [esi + 0x4e], 1
mov dword [esi + 0x548], 0x11
movsd qword [esi + 0x20], xmm0
mov dword [esi + 0x28], ecx
mov dword [esi + 8], ecx
mov eax, dword [esi + 0x20]
push ecx
push eax
call fcn.004e7230
add esp, 8
test eax, eax
je 0x4f266d
cmp dword [esi + 8], edx
jb 0x4f266d
mov dword [esi + 0x28], edx
mov eax, dword [esi + 0x28]
movsd xmm0, qword [esi + 0x20]
mov byte [esi + 0x4e], 0
lea ecx, [esi + 0xa0]
lea edx, [esi + 0x7c]
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
movsd qword [esi + 0x50], xmm0
push eax
call fcn.004f39b0
add esp, 4
mov ecx, dword [esi + 0xa0]
test ecx, ecx
je 0x4f24d2
mov eax, dword [esi + 0xa4]
mov edx, dword [esi + 0xa8]
jmp 0x4f19e8
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov edi, dword [esi + 0x24]
test edi, edi
je 0x4f26ee
cmp dword [esi + 0x14], 0
je 0x4f26ee
add edi, edi
je 0x4f26ee
push 2
push edi
push dword [esi + 0x14]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov edi, edx
call fcn.0043c2a0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edx, edi
add esp, 0xc
test bl, bl
je 0x4f26fc
test ecx, ecx
jne 0x4f19e8
jmp 0x4f2741
cmp cl, 3
jne 0x4f2741
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esi + 0x548], 0xf
push edx
mov dword [esi + 8], eax
call dword [ecx]
add esp, 4
mov edi, dword [esi + 8]
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4f2734
push dword [eax + 8]
push ecx
push dword [edi]
call fcn.0043c2a0
add esp, 0xc
push 4
push 0xc
push edi
call fcn.0043c2a0
add esp, 0xc
lea eax, [esi + 0x138]
push 0x400
push 0
push eax
call fcn.0054c590
add esp, 0xc
mov eax, dword [0x5f5ba8]
mov edi, 0x200
mov dword [esi + 8], 0
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
cmp edi, 0x201
jae 0x4f27a2
jmp 0x4f27e2
cmp ebx, edi
mov edi, ebx
jb 0x4f283c
cmp edi, 0x201
jb 0x4f27e2
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x24]
mov eax, edi
sub eax, edx
sub ecx, edx
cmp ecx, eax
jae 0x4f27d4
mov dword [esi + 0x10], edi
mov dword [esi + 0x548], 0xe
lea ecx, [esi + 0x20]
push eax
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x10]
mov dword [esi + 0x18], eax
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x28], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
jmp 0x4f27ef
lea ebx, [esi + 0x138]
mov dword [esi + 0xc], 0x200
mov dword [esi + 0x10], ebx
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov ebx, eax
test eax, eax
jne 0x4f2816
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4f2ae3
cmp ebx, edi
jne 0x4f2790
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4f2790
add edi, edi
cmp edi, 0x201
jb 0x4f27e2
jmp 0x4f27a2
mov eax, dword [esi + 0xc]
mov dword [esi + 0x548], 0xe
cmp ebx, eax
ja 0x4f3277
lea eax, [esi + 0x50]
push ebx
push dword [esi + 0x10]
push eax
call fcn.004e4fb0
add esp, 0xc
lea eax, [esi + 0x50]
lea ecx, [esi + 0xa0]
lea edx, [esi + 0x7c]
push eax
call fcn.004f39b0
add esp, 4
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0xa4]
mov edx, dword [esi + 0xa8]
mov bl, 1
jmp 0x4f2aed
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4f28a4
push 1
push eax
push dword [esi + 0x14]
call fcn.0043c2a0
add esp, 0xc
mov dword [esi + 0x548], 0x1b
lea ecx, [esi + 0x138]
mov byte [esi + 0x1e], 0
mov dword [esi + 0x548], 0x1b
call fcn.004d8950
mov eax, dword [esi + 0x34]
test eax, eax
je 0x4f28e5
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x4f28e5
add eax, eax
je 0x4f28e5
push 2
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x74]
mov dword [eax + 4], 0x1402
mov dword [eax + 8], 0x5f77a4
mov dword [eax], 1
jmp 0x4f2e05
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 8]
lea edx, [esi + 0x138]
mov dword [esi + 0x548], 0x20
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], ecx
lea ecx, [esi + 0x50]
mov word [esi + 0x140], 0
call fcn.004d9ab0
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
cmp edx, ecx
jne 0x4f295b
mov dword [esi + 0x548], 0x21
lea ecx, [esi + 0x50]
push 1
call fcn.0056fb00
add esp, 4
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x50]
mov word [eax + edx*2], 0
inc edx
mov dword [esi + 0x548], 0x22
mov dword [esi + 0x78], eax
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x78]
xorps xmm0, xmm0
mov dword [esi + 0xc], ecx
movaps xmmword [esi + 0xa0], xmm0
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], edx
push 0x61cfc8
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [esi + 0x40]
xor edi, edi
lea ebx, [esi + 0x98]
mov dword [esi + 0x138], 0
mov dword [esi + 0x140], 0
mov dword [esi + 0x114], 0x61cfc8
mov dword [esi + 0x148], 0
mov dword [esi + 0x7c], 1
mov edx, dword [eax + 0x38]
lea ecx, [eax + 0x38]
cmp edx, 4
mov dword [esi + 8], edx
lea edx, [esi + 0x9c]
cmove ecx, edi
cmp byte [ebp + 0xc], 0
lea edi, [esi + 0x7c]
cmovne edi, ebx
lea ebx, [esi + 0x80]
cmovne ebx, edx
cmp dword [esi + 8], 4
mov edx, 0
cmovne edi, ecx
lea ecx, [ecx + 4]
cmove ecx, ebx
mov ebx, ecx
mov ecx, dword [eax + 0x40]
mov dword [esi + 0x44], ecx
cmp ecx, 4
lea ecx, [eax + 0x40]
cmove ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [eax + 0x48]
add eax, 0x48
cmp ecx, 4
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x50]
cmove eax, edx
mov edx, dword [edi]
mov dword [esi + 0x40], eax
lea eax, [esi + 0x138]
push eax
push 0xfffffffffffffff6
push dword [ebx]
call fcn.004f3b30
add esp, 0xc
cmp dword [esi + 0x50], 1
jne 0x4f2a74
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0x74]
mov ecx, dword [esi + 0x58]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx], 1
jmp 0x4f2d8e
mov edx, dword [esi + 0x54]
mov edi, dword [esi + 8]
cmp dword [esi + 0x44], 4
lea eax, [esi + 0x140]
mov dword [esi + 0x44], edx
lea edx, [esi + 0x98]
lea ecx, [edi + 4]
cmove edi, edx
mov edx, dword [edi]
lea edi, [esi + 0x9c]
cmove ecx, edi
mov edi, dword [ecx]
mov dword [esi + 0x548], 0x23
lea ecx, [esi + 0x50]
push eax
push 0xfffffffffffffff5
push edi
call fcn.004f3b30
add esp, 0xc
cmp dword [esi + 0x50], 1
jne 0x4f2ca9
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0x74]
mov ecx, dword [esi + 0x58]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx], 1
jmp 0x4f2d85
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov edi, dword [esi + 0x24]
test edi, edi
je 0x4f2b1c
cmp dword [esi + 0x18], 0
je 0x4f2b1c
add edi, edi
je 0x4f2b1c
push 2
push edi
push dword [esi + 0x18]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov edi, edx
call fcn.0043c2a0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edx, edi
add esp, 0xc
test bl, bl
je 0x4f2b2a
test ecx, ecx
jne 0x4f19e8
jmp 0x4f2b6f
cmp cl, 3
jne 0x4f2b6f
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esi + 0x548], 0xd
push edx
mov dword [esi + 8], eax
call dword [ecx]
add esp, 4
mov edi, dword [esi + 8]
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4f2b62
push dword [eax + 8]
push ecx
push dword [edi]
call fcn.0043c2a0
add esp, 0xc
push 4
push 0xc
push edi
call fcn.0043c2a0
add esp, 0xc
mov byte [esi + 7], 1
mov dword [esi + 0x548], 0xa
lea eax, [esi + 0x30]
push 4
push str.PATHlibrary_std_src_sys_common_thread_info.rs
push eax
call fcn.004dd9c0
add esp, 0xc
cmp dword [esi + 0x30], 0
je 0x4f2c98
movsd xmm0, qword [esi + 0x30]
mov eax, dword [esi + 0x38]
movsd qword [esi + 0x20], xmm0
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0x20]
add eax, ecx
mov dword [esi + 0x138], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x13c], eax
mov word [esi + 0x140], 0
mov byte [esi + 0x144], 1
lea eax, [esi + 0x138]
lea ecx, [esi + 0x50]
mov dword [esi + 0x548], 0xc
push eax
push ecx
call fcn.004ef110
add esp, 8
jmp 0x4f2c00
lea eax, [esi + 0x138]
push eax
lea eax, [esi + 0x50]
push eax
call fcn.004ef110
add esp, 8
mov eax, dword [esi + 0x50]
test eax, eax
je 0x4f2c83
mov edx, dword [esi + 0x58]
mov ecx, dword [esi + 0x54]
test edx, edx
jne 0x4f2c23
test ecx, ecx
je 0x4f2bed
push 1
push ecx
push eax
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f2bed
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edx
lea ecx, [esi + 0xa0]
lea edx, [esi + 0x7c]
push eax
call fcn.004f39b0
add esp, 4
mov ecx, dword [esi + 0xa0]
test ecx, ecx
je 0x4f2bce
mov edi, dword [esi + 0x24]
mov eax, dword [esi + 0xa4]
mov edx, dword [esi + 0xa8]
test edi, edi
je 0x4f19e8
push 1
push edi
push dword [esi + 8]
mov dword [esi + 8], eax
mov edi, ecx
mov ebx, edx
call fcn.0043c2a0
mov eax, dword [esi + 8]
mov edx, ebx
mov ecx, edi
add esp, 0xc
jmp 0x4f19e8
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4f2c98
push 1
push eax
push dword [esi + 8]
call fcn.0043c2a0
add esp, 0xc
mov ecx, 2
mov dword [esi + 8], 0x5f77ec
jmp 0x4f18fa
cmp dword [esi + 0x3c], 4
mov ecx, dword [esi + 0x40]
lea edi, [esi + 0x98]
lea edx, [esi + 0x9c]
lea eax, [esi + 0x148]
cmovne edi, ecx
lea ecx, [ecx + 4]
cmove ecx, edx
mov edx, dword [esi + 0x54]
mov dword [esi + 8], edx
mov edx, dword [edi]
mov edi, dword [ecx]
mov dword [esi + 0x548], 0x24
lea ecx, [esi + 0x50]
push eax
push 0xfffffffffffffff4
push edi
call fcn.004f3b30
add esp, 0xc
cmp dword [esi + 0x50], 1
jne 0x4f2d0b
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0x74]
mov ecx, dword [esi + 0x58]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx], 1
jmp 0x4f2d76
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x54]
mov edi, dword [esi + 0x134]
mov dword [esi + 0x548], 0x25
mov dword [esi + 0x104], eax
mov dword [esi + 0x108], edx
mov edx, dword [esi + 0x12c]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x10c], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x3c], edx
push edi
call fcn.004f5680
add esp, 4
mov ebx, dword [esi + 0x54]
cmp dword [esi + 0x50], 1
mov edi, dword [esi + 0x58]
jne 0x4f2e8f
mov eax, dword [esi + 0x74]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax], 1
push dword [esi + 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esi + 0x44]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi + 0x138], 0
je 0x4f2da3
push dword [esi + 0x13c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi + 0x140], 0
je 0x4f2db8
push dword [esi + 0x144]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi + 0x148], 0
je 0x4f2dcd
push dword [esi + 0x14c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x61cfc8
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebx, ebx
je 0x4f2dee
add ebx, ebx
je 0x4f2dee
push 2
push ebx
push dword [esi + 0x78]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x14]
test edi, edi
je 0x4f2e05
add edi, edi
je 0x4f2e05
push 2
push edi
push eax
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x8c]
mov bl, 1
test eax, eax
je 0x4f1c7f
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x4f1c7f
add eax, eax
je 0x4f1c7f
push 2
push eax
push ecx
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f1c7f
lea ecx, [esi + 0x138]
mov byte [esi + 0x1e], 0
mov dword [esi + 0x548], 0x1b
call fcn.004d8950
mov edx, dword [esi + 0x110]
mov eax, dword [esi + 0x3c]
cmp edx, dword [esi + 0x34]
jne 0x4f2e7a
mov byte [esi + 0x1e], 0
lea ecx, [esi + 0x30]
push 1
call fcn.0056fb00
add esp, 4
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x38]
mov word [eax + edx*2], 0
inc edx
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x34]
mov dword [esi + 0x18], eax
jmp 0x4f1e0c
mov edx, dword [esi + 0x88]
lea eax, [esi + 0xa0]
lea ecx, [esi + 0xcc]
push eax
push ecx
push dword [esi + 0x94]
push dword [esi + 0x18]
push dword [esi + 0x48]
push 1
push 0
push 0
mov dword [esi + 0x18], edx
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4f2fb0
push dword [esi + 0xa4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movsd xmm1, qword [esi + 0x140]
mov ecx, dword [esi + 0x74]
movsd xmm0, qword [esi + 0x138]
mov eax, dword [esi + 0xa0]
test edi, edi
movsd qword [ecx + 0x10], xmm1
movsd xmm1, qword [esi + 0x148]
movsd qword [ecx + 8], xmm0
movsd qword [ecx + 0x18], xmm1
mov dword [ecx + 4], eax
mov dword [ecx], 0
je 0x4f2f21
add edi, edi
je 0x4f2f21
push 2
push edi
push ebx
call fcn.0043c2a0
add esp, 0xc
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esi + 0x40]
call edi
push dword [esi + 8]
call edi
push dword [esi + 0x44]
call edi
push 0x61cfc8
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4f2f5a
add eax, eax
je 0x4f2f5a
push 2
push eax
push dword [esi + 0x78]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4f2f73
add eax, eax
je 0x4f2f73
push 2
push eax
push dword [esi + 0x14]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4f2f8f
add eax, eax
je 0x4f2f8f
push 2
push eax
push dword [esi + 0x18]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x130]
test eax, eax
je 0x4f1d17
push 1
push eax
push dword [esi + 0x3c]
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f1d17
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esi + 0x74]
test edi, edi
mov dword [ecx + 8], eax
mov dword [ecx + 4], 0
mov dword [ecx], 1
je 0x4f2d6d
add edi, edi
je 0x4f2d6d
push 2
push edi
push ebx
call fcn.0043c2a0
add esp, 0xc
jmp 0x4f2d6d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xd0], eax
lea eax, [esi + 0xcc]
mov dword [esi + str.comparing_environment_keys_failed:], 0x5f7744
mov dword [esi + 0x13c], 1
mov dword [esi + 0xcc], 0
mov dword [esi + 0x140], 0
mov dword [esi + 0x548], 4
mov dword [esi + 0x20], eax
lea eax, [esi + 0x20]
mov dword [esi + 0x24], fcn.004dff60
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], 1
push 0x5f7774
lea eax, [esi + 0x138]
push eax
call fcn.00570860
add esp, 8
jmp 0x4f3286
push ebx
push edi
call fcn.00570650
add esp, 8
ud2
mov dword [esi + 0x548], 5
call fcn.004fec10
jmp 0x4f3286
mov dword [esi + 0x548], 5
call fcn.004fec10
jmp 0x4f3286
call fcn.004fec10
jmp 0x4f3286
mov dword [esi + 0x548], 2
call fcn.004fec10
jmp 0x4f3286
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xa4], eax
lea eax, [esi + 0xa0]
mov dword [esi + str.comparing_environment_keys_failed:], 0x5f7744
mov dword [esi + 0x13c], 1
mov dword [esi + 0xa0], 0
mov dword [esi + 0x140], 0
mov dword [esi + 0x548], 0x27
mov dword [esi + 0x20], eax
lea eax, [esi + 0x20]
mov dword [esi + 0x24], fcn.004dff60
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], 1
push 0x5f7774
lea eax, [esi + 0x138]
push eax
call fcn.00570860
add esp, 8
jmp 0x4f3286
push 1
push ebx
call fcn.00570650
add esp, 8
ud2
push 1
push ecx
call fcn.00570650
add esp, 8
ud2
mov dword [esi + 0x548], 3
push 0x5f5870
push 0x21
push str.assertion_failed:_self.height___0
call fcn.005707b0
add esp, 0xc
jmp 0x4f3286
push 1
push 4
call fcn.00570650
add esp, 8
ud2
push 1
push edi
call fcn.00570650
add esp, 8
ud2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xd0], eax
lea eax, [esi + 0xcc]
mov dword [esi + 0x138], 0x5f7654
mov dword [esi + 0x13c], 1
mov dword [esi + 0xcc], 0
mov dword [esi + 0x140], 0
mov dword [esi + 0x548], 9
mov dword [esi + 0x20], eax
lea eax, [esi + 0x20]
mov dword [esi + 0x24], fcn.004dff60
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], 1
lea eax, [esi + 0x138]
push 0x5f765c
push eax
call fcn.00570860
add esp, 8
jmp 0x4f3286
mov byte [esi + 7], 1
mov dword [esi + 0x548], 0xa
call fcn.004fec10
jmp 0x4f3286
mov byte [esi + 7], 1
mov dword [esi + 0x548], 0xa
call fcn.004fec10
jmp 0x4f3286
mov dword [esi + 0x548], 0x19
push 0x5f51a0
push edx
push edi
call fcn.00570970
add esp, 0xc
jmp 0x4f3286
mov byte [esi + 0x1d], 1
mov dword [esi + 0x548], 0x12
push 0x5f51a0
push eax
push ebx
call fcn.00570970
add esp, 0xc
jmp 0x4f3286
push 0x5f79e4
push eax
push ebx
call fcn.005709d0
add esp, 0xc
jmp 0x4f3286
push 0x5f79e4
push eax
push ebx
call fcn.005709d0
add esp, 0xc
ud2