Function at 0x5e9aa0
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, 0x510
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x62c500
mov dword [ebp - 0xac], ecx
call 0x5e9ac8
pop eax
mov ecx, dword fs:[0]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov ecx, edx
mov dword fs:[0], eax
movzx eax, byte [ecx + 0x34]
mov edx, dword [edx + 0x30]
mov dword [ebp - 0x40], ecx
test al, al
jne 0x5e9b0c
test edx, edx
jne 0x5e9b0c
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x3c], 0
jmp 0x5ea5a2
test al, al
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x98], 0
jne 0x5e9d6f
mov dword [ebp - 0x2c], edx
call dword [sym.imp.kernel32.dll_GetEnvironmentStringsW]
test eax, eax
je 0x5ecc88
mov esi, eax
mov dword [ebp - 0x44], eax
nop
cmp word [esi], 0
je 0x5e9d60
mov edx, esi
mov ebx, 0x7ffffffe
mov eax, 0xfffffffd
mov edi, 0xfffffffe
nop dword [eax + eax]
inc ebx
inc eax
cmp word [esi], 0
mov ecx, edi
lea esi, [esi + 2]
lea edi, [edi + 2]
jne 0x5e9b60
add ebx, 0x80000001
mov dword [ebp - 0x30], eax
cmp ebx, 1
mov dword [ebp - 0x24], ebx
je 0x5e9b40
cmp dword [ebp - 0x24], 0
je 0x5ecbb0
lea eax, [edx + 4]
xor edi, edi
cmp word [eax - 2], 0x3d
je 0x5e9bb0
inc edi
add eax, 2
add ecx, 0xfffffffe
jne 0x5e9b90
jmp 0x5e9b40
cmp edi, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
lea eax, [edi + 1]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x10], 4
jae 0x5ecbd0
lea ecx, [ebp - 0x78]
push eax
call fcn.005e0460
add esp, 4
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
lea ecx, [esi + 2]
cmp edx, ecx
jb 0x5ecbe7
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x10], 5
lea ecx, [ebp - 0x51c]
sub eax, esi
push eax
call fcn.005e0460
add esp, 4
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x6b]
movzx edx, byte [ebp - 0x6c]
movsd xmm0, qword [ebp - 0x514]
mov ebx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
mov esi, dword [ebp - 0x518]
mov dword [ebp - 0x24], eax
movzx eax, word [ecx]
mov byte [ebp - 0x30], dl
cmp dl, 2
lea edx, [ebp - 0x78]
movsd qword [ebp - 0x90], xmm0
mov word [ebp - 0xbc], ax
movzx eax, byte [ecx + 2]
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0xba], al
mov eax, dword [ebp - 0x51c]
je 0x5e9d60
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x10], 7
add eax, ebx
mov dword [ebp - 0x74], eax
mov word [ebp - 0x70], 0
call fcn.005ed5a0
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x503]
movsd xmm0, qword [ebp - 0xf0]
mov byte [ebp - 0xad], 0
mov dword [ebp - 0x10], 6
lea edx, [ebp - 0xa0]
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x508], eax
movzx eax, byte [ebp - 0x30]
mov byte [ebp - 0x504], al
movzx eax, byte [ebp - 0xba]
mov byte [ecx + 2], al
movzx eax, word [ebp - 0xbc]
mov word [ecx], ax
mov eax, dword [ebp - 0xe8]
movsd qword [ebp - 0x51c], xmm0
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x51c]
push eax
call fcn.005ed7b0
add esp, 8
cmp byte [ebp - 0xe4], 2
mov esi, dword [ebp - 0x38]
je 0x5e9b40
cmp dword [ebp - 0xec], 0
je 0x5e9b40
mov ecx, dword [ebp - 0xf0]
mov edx, 1
call fcn.00404240
jmp 0x5e9b40
push dword [ebp - 0x44]
call dword [sym.imp.kernel32.dll_FreeEnvironmentStringsW]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ecx + 0x28]
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x24], eax
xor eax, eax
test esi, esi
mov dword [ebp - 0x28], esi
setne al
cmove edx, esi
jmp 0x5e9d9d
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
test edx, edx
je 0x5ea3db
mov esi, dword [ebp - 0x30]
test eax, eax
je 0x5e9dd0
test esi, esi
jne 0x5e9dd0
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov ecx, 1
test eax, eax
je 0x5e9dc9
nop
mov esi, dword [esi + 0x1ec]
dec eax
jne 0x5e9dc0
xor edi, edi
xor ebx, ebx
jmp 0x5e9de0
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
mov ecx, eax
test eax, eax
je 0x5ecafe
movzx eax, word [esi + 0x1ea]
cmp edi, eax
jb 0x5e9e11
nop dword [eax + eax]
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x5ec8fc
movzx edi, word [esi + 0x1e8]
inc ebx
mov esi, eax
cmp di, word [eax + 0x1ea]
jae 0x5e9df0
test ebx, ebx
je 0x5e9e40
mov eax, dword [esi + edi*4 + 0x1f0]
dec ebx
je 0x5e9e29
nop
mov eax, dword [eax + 0x1ec]
dec ebx
jne 0x5e9e20
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0
jmp 0x5e9e49
lea eax, [edi + 1]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], eax
lea eax, [edi + edi*8]
dec edx
lea eax, [eax + eax*2]
add eax, edi
shl edi, 4
cmp byte [esi + edi + 0xc], 2
lea ebx, [esi + eax + 0xb4]
jne 0x5e9f00
mov edi, dword [ebp - 0xa0]
mov eax, ecx
mov dword [ebp - 0x28], 0
test edi, edi
je 0x5e9d9d
mov esi, dword [ebx + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x9c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x3c], edi
mov edx, edi
push esi
push eax
mov dword [ebp - 0x38], ebx
push ebx
call fcn.005eec30
add esp, 0xc
cmp dword [ebp - 0x90], 0
jne 0x5e9d97
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x84]
mov byte [ebp - 0x91], 0
test ecx, ecx
je 0x5ea17f
nop dword [eax]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
je 0x5ea0c8
movzx edx, word [eax + 0x1ea]
jmp 0x5e9ee0
mov eax, edx
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [ebx + 0x14]
test edx, edx
mov dword [ebp - 0x28], edx
je 0x5e9f3d
js 0x5ecb60
movzx eax, byte [0xa71040]
mov ecx, edx
mov edx, 1
call fcn.004041e0
mov edx, dword [ebp - 0x28]
test eax, eax
jne 0x5e9f42
jmp 0x5ecb89
mov eax, 1
push edx
push dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebx + 8]
mov ah, byte [ebx + 0x18]
mov edx, dword [ebx]
test ecx, ecx
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0x4c], ah
je 0x5e9f9f
xor ebx, ebx
cmp ecx, 0x40000000
mov dword [ebp - 0x80], edx
setb al
jae 0x5ecb9f
mov bl, al
lea edx, [ecx + ecx]
add ebx, ebx
test edx, edx
mov dword [ebp - 0x44], edx
js 0x5ecb21
je 0x5e9fa8
movzx eax, byte [0xa71040]
mov ecx, dword [ebp - 0x44]
mov edx, ebx
call fcn.004041e0
jmp 0x5e9faa
mov eax, 2
xor ecx, ecx
jmp 0x5e9fb8
mov eax, ebx
mov edx, dword [ebp - 0x80]
test eax, eax
je 0x5ecb32
mov ecx, dword [ebp - 0x44]
add esi, edi
push ecx
push edx
push eax
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x503]
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x508], eax
movzx eax, byte [ebp - 0x4c]
mov byte [ebp - 0x504], al
movzx eax, word [ebp - 0x78]
mov word [ecx], ax
movzx eax, byte [ebp - 0x76]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x51c], edi
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], eax
mov ebx, dword [esi + 8]
mov eax, dword [esi]
test ebx, ebx
je 0x5ea04c
mov dword [ebp - 0x28], eax
js 0x5ecb48
movzx eax, byte [0xa71040]
mov ecx, ebx
mov edx, 1
call fcn.004041e0
mov edi, eax
test eax, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 1
jne 0x5ea051
jmp 0x5ecb71
mov edi, 1
push ebx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [esi + 0xc]
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x92], 0
mov dword [ebp - 0x10], 1
lea ecx, [ebp - 0xf0]
lea edx, [ebp - 0xa0]
mov byte [ebp - 0x6c], al
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x51c]
push eax
call fcn.005ed7b0
add esp, 8
cmp byte [ebp - 0xe4], 2
je 0x5e9d90
cmp dword [ebp - 0xec], 0
je 0x5e9d90
mov ecx, dword [ebp - 0xf0]
mov edx, 1
call fcn.00404240
jmp 0x5e9d90
movzx ecx, word [eax + 0x1ea]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x91]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x10], 0
lea edx, [ebp - 0xbc]
dec ecx
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0x51c]
push eax
call fcn.005eed90
add esp, 4
movsd xmm2, qword [ebp - 0x504]
movsd xmm1, qword [ebp - 0x50c]
mov eax, dword [ebp - 0x4f4]
movsd xmm0, qword [ebp - 0x4fc]
mov edx, dword [ebp - 0x4f0]
movsd qword [ebp - 0xd8], xmm2
movsd qword [ebp - 0xe0], xmm1
movsd xmm2, qword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x514]
mov dword [ebp - 0xc8], eax
movsd qword [ebp - 0xd0], xmm0
mov eax, dword [ebp - 0x4e8]
movsd qword [ebp - 0xe8], xmm1
movsd qword [ebp - 0xf0], xmm2
movzx ecx, word [edx + 0x1ea]
cmp eax, ecx
jae 0x5ea1a9
mov ecx, edx
jmp 0x5ea1d3
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x91]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], edx
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0x78]
push eax
call fcn.005eed90
add esp, 4
jmp 0x5ea2cd
mov esi, dword [ebp - 0x4ec]
nop
mov ecx, dword [edx + 0xb0]
test ecx, ecx
je 0x5ea1cf
movzx eax, word [edx + 0x1e8]
inc esi
mov edx, ecx
cmp ax, word [ecx + 0x1ea]
jae 0x5ea1b0
jmp 0x5ea1d3
xor ecx, ecx
mov eax, esi
lea edx, [eax + eax*8]
lea edx, [edx + edx*2]
add edx, eax
shl eax, 4
mov esi, dword [ecx + edx + 0xcc]
mov dword [ebp - 0x60], esi
mov esi, dword [ebp - 0xd8]
movsd xmm0, qword [ecx + edx + 0xc4]
movsd qword [ebp - 0x68], xmm0
movsd xmm0, qword [ecx + edx + 0xb4]
movsd xmm1, qword [ecx + edx + 0xbc]
movsd qword [ebp - 0x70], xmm1
movsd qword [ebp - 0x78], xmm0
mov dword [ecx + edx + 0xcc], esi
lea esi, [ebp - 0xd4]
movsd xmm0, qword [ebp - 0xe0]
movsd qword [ecx + edx + 0xc4], xmm0
movsd xmm0, qword [ebp - 0xf0]
movsd xmm1, qword [ebp - 0xe8]
movsd qword [ecx + edx + 0xbc], xmm1
movsd qword [ecx + edx + 0xb4], xmm0
lea edx, [ebp - 0x5c]
movsd xmm0, qword [ecx + eax]
movsd xmm1, qword [ecx + eax + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [ecx + eax], xmm0
movsd qword [ecx + eax + 8], xmm1
movsd xmm2, qword [ebp - 0x60]
movsd xmm1, qword [ebp - 0x68]
mov eax, dword [ebp - 0x50]
movsd xmm0, qword [ebp - 0x58]
movsd qword [ebp - 0x504], xmm2
movsd qword [ebp - 0x50c], xmm1
movsd xmm2, qword [ebp - 0x78]
movsd xmm1, qword [ebp - 0x70]
mov dword [ebp - 0x4f4], eax
movsd qword [ebp - 0x4fc], xmm0
movsd qword [ebp - 0x514], xmm1
movsd qword [ebp - 0x51c], xmm2
movsd xmm2, qword [ebp - 0x504]
movsd xmm1, qword [ebp - 0x50c]
mov eax, dword [ebp - 0x4f4]
movsd xmm0, qword [ebp - 0x4fc]
dec dword [ebp - 0x98]
cmp byte [ebp - 0x91], 0
movsd qword [ebp - 0x60], xmm2
movsd qword [ebp - 0x68], xmm1
movsd xmm2, qword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x514]
mov dword [ebp - 0x50], eax
movsd qword [ebp - 0x58], xmm0
movsd qword [ebp - 0x70], xmm1
movsd qword [ebp - 0x78], xmm2
je 0x5ea35b
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x5ecc00
mov ecx, dword [ebp - 0x3c]
dec edx
mov eax, dword [ecx + 0x1ec]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov edx, 4
mov dword [eax + 0xb0], 0
call fcn.00404240
cmp byte [ebp - 0x60], 2
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
je 0x5e9d9d
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
movzx ebx, byte [ebp - 0x50]
cmp dword [ebp - 0x68], 0
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x38], ecx
je 0x5ea39a
mov ecx, dword [ebp - 0x6c]
mov edx, 1
call fcn.00404240
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
test esi, esi
je 0x5ea3b0
mov ecx, edi
mov edx, 2
call fcn.00404240
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
cmp bl, 2
je 0x5e9d9d
cmp dword [ebp - 0x38], 0
je 0x5e9d9d
mov ecx, dword [ebp - 0x3c]
mov edx, 1
call fcn.00404240
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
jmp 0x5e9d9d
mov eax, dword [ebp - 0x98]
movsd xmm0, qword [ebp - 0xa0]
mov ecx, 4
mov edx, 1
mov dword [ebp - 0x108], eax
movsd qword [ebp - 0x110], xmm0
mov dword [ebp - 0x114], 1
movzx eax, byte [0xa71040]
call fcn.004041e0
test eax, eax
je 0x5ecc23
mov ecx, eax
mov dword [eax], 0x48544150
mov dword [ebp - 0x51c], eax
lea edx, [ebp - 0x51c]
mov dword [ebp - 0x10], 0x2c
mov dword [ebp - 0x38], eax
add ecx, 4
mov dword [ebp - 0x518], ecx
lea ecx, [ebp - 0x78]
mov word [ebp - 0x514], 0
call fcn.005ed5a0
mov ecx, dword [ebp - 0x38]
movsd xmm0, qword [ebp - 0x78]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x110]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x50c], 4
mov dword [ebp - 0x508], 4
mov byte [ebp - 0x504], 0
movsd qword [ebp - 0x51c], xmm0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x514], eax
test edx, edx
mov eax, dword [ebp - 0x51c]
mov dword [ebp - 0x30], eax
je 0x5ea572
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], eax
movzx esi, word [edx + 0x1ea]
lea ecx, [edx + 0xb4]
lea edi, [edx - 8]
mov dword [ebp - 0x2c], edx
lea eax, [esi + esi*8]
mov dword [ebp - 0x4c], esi
lea ebx, [eax + eax*2]
add ebx, esi
mov esi, 0xffffffff
nop word cs:[eax + eax]
nop dword [eax + eax]
test ebx, ebx
je 0x5ea530
lea eax, [ecx + 0x1c]
mov dword [ebp - 0x24], eax
push 1
push dword [ecx + 8]
push dword [ecx]
push dword [ebp - 0x28]
push dword [ebp - 0x30]
call dword [sym.imp.kernel32.dll_CompareStringOrdinal]
mov ecx, dword [ebp - 0x24]
add ebx, 0xffffffe4
add edi, 0x10
inc esi
cmp eax, 3
je 0x5ea4f0
cmp eax, 1
jne 0x5ea550
jmp 0x5ea533
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
sub ecx, 1
jb 0x5ea57b
mov edx, dword [edx + esi*4 + 0x1ec]
mov dword [ebp - 0x34], ecx
jmp 0x5ea4be
mov esi, dword [ebp - 0x40]
cmp eax, 2
jne 0x5eca97
cmp dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x38]
je 0x5ea580
mov eax, dword [edi - 8]
mov edx, dword [edi]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], edx
jmp 0x5ea580
mov dword [ebp - 0x3c], 0
jmp 0x5ea580
mov ecx, dword [ebp - 0x38]
mov esi, eax
mov edx, 1
call fcn.00404240
cmp dword [ebp - 0x518], 0
je 0x5ea5a0
mov ecx, dword [ebp - 0x30]
mov edx, 2
call fcn.00404240
mov ecx, esi
mov esi, dword [ecx + 0x20]
test esi, esi
je 0x5ea5f5
mov edx, dword [ecx + 0x18]
mov ecx, 0x5ef390
cmp esi, 4
jb 0x5ea5cb
cmp dword [edx], 0x5c3f5c5c
mov eax, 0x5ef380
mov dword [ebp - 0x10], 0xa
cmove ecx, eax
movzx eax, byte [esi + edx - 1]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
mov dword [ebp - 0x28], eax
push eax
call ecx
add esp, 4
mov ebx, dword [ebp - 0x24]
test al, al
je 0x5ea688
mov byte [ebp - 0x9c], 2
mov dword [ebp - 0x98], 0xa0c62c
mov ecx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], 2
cmp dword [ebp - 0x114], 0
je 0x5ea730
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x5ea708
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x510], edx
mov dword [ebp - 0x508], 0
mov dword [ebp - 0x504], ecx
mov ecx, 1
mov dword [ebp - 0x500], edx
jmp 0x5ea70c
mov edi, dword [ebp - 0x30]
xor eax, eax
cmp ebx, 3
mov ecx, 0
jbe 0x5ea746
movzx ecx, byte [ebx + edi - 4]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x2e
jne 0x5ea744
movzx ecx, byte [edi + ebx - 3]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
jne 0x5ea744
movzx ecx, byte [edi + ebx - 2]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x5ea744
mov edx, dword [ebp - 0x28]
mov ecx, edx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
cmp cl, 0x65
sete cl
jmp 0x5ea746
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x50c], ecx
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x10], 0xffffffff
call fcn.005efa40
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x510
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
lea edx, [edi + ebx]
mov dword [ebp - 0x28], edx
nop dword [eax]
cmp ebx, eax
je 0x5ea7cd
movzx edx, byte [edi + eax]
cmp edx, 0x2f
je 0x5ea763
inc eax
cmp edx, 0x5c
jne 0x5ea750
test cl, cl
je 0x5ea88c
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x51c]
mov edx, edi
push ebx
call fcn.005de730
add esp, 4
mov edx, dword [ebp - 0x51c]
mov eax, dword [ebp - 0x518]
mov ecx, dword [ebp - 0x514]
test edx, edx
je 0x5ea98d
mov dword [ebp - 0x51c], edx
mov dword [ebp - 0x514], ecx
lea ecx, [ebp - 0xa0]
lea edx, [ebp - 0x51c]
mov dword [ebp - 0x518], eax
mov byte [ebp - 0x1d], 1
call fcn.005ef3b0
jmp 0x5ea9a3
xor esi, esi
mov eax, edi
jmp 0x5ea7eb
xor esi, esi
test dx, dx
je 0x5ea974
mov dx, 1
test si, si
jne 0x5ea7e0
cmp eax, dword [ebp - 0x28]
je 0x5eaa1e
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
js 0x5ea80a
inc eax
jmp 0x5ea870
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x5ea843
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x5ea850
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 0x5ea858
shl ecx, 6
add eax, 2
or ecx, edi
mov edi, dword [ebp - 0x30]
jmp 0x5ea870
shl ecx, 0xc
add eax, 3
or ecx, esi
mov edi, dword [ebp - 0x30]
cmp ecx, 0xffff
ja 0x5ea879
nop word cs:[eax + eax]
nop dword [eax]
xor esi, esi
mov edx, ecx
jmp 0x5ea7e2
and ecx, 0x3ff
or ecx, 0xdc00
mov esi, ecx
jmp 0x5ea7e2
xor edx, edx
test ebx, ebx
setns al
js 0x5eccf8
mov dl, al
movzx eax, byte [0xa71040]
mov ecx, ebx
mov dword [ebp - 0x2c], edx
call fcn.004041e0
test eax, eax
je 0x5ecd0d
mov esi, eax
push ebx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0x10], 0x29
lea ecx, [ebp - 0x51c]
mov edx, str..exeprogram_not_found
movsd xmm0, qword [ebp - 0x70]
movsd xmm1, qword [ebp - 0x78]
movsd qword [ebp - 0x514], xmm0
movsd qword [ebp - 0x51c], xmm1
push 4
call fcn.005e3a20
add esp, 4
movsd xmm0, qword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x514]
mov byte [ebp - 0xae], 1
mov dword [ebp - 0x10], 0x28
lea ecx, [ebp - 0xf0]
movsd qword [ebp - 0x78], xmm0
movsd qword [ebp - 0x70], xmm1
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], eax
push eax
call fcn.005ef4a0
add esp, 4
cmp dword [ebp - 0xf0], 0
mov esi, dword [ebp - 0x40]
je 0x5ea9ab
mov eax, dword [ebp - 0xe8]
movsd xmm0, qword [ebp - 0xf0]
mov dword [ebp - 0x98], eax
movsd qword [ebp - 0xa0], xmm0
jmp 0x5eae23
mov dword [ebp - 0x9c], 2
mov dword [ebp - 0x98], 0xa0c600
jmp 0x5ea606
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa0], 0
mov esi, dword [ebp - 0x40]
jmp 0x5eae36
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x27
call fcn.005e9490
test eax, eax
je 0x5eadb0
cmp edx, 2
jne 0x5ea9da
movzx esi, word [eax]
mov ecx, 2
cmp esi, 0x2e2e
je 0x5ea9fd
mov esi, edx
nop dword [eax]
test esi, esi
je 0x5ea9fb
mov ecx, esi
dec esi
cmp byte [eax + ecx - 1], 0x2e
jne 0x5ea9e0
cmp edx, ecx
jb 0x5ecd5e
test esi, esi
cmovne edx, esi
mov ecx, edx
add eax, ecx
mov esi, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x24]
cmp esi, eax
jb 0x5eadb3
mov esi, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0x27
jmp 0x5eadb3
mov eax, dword [ebp - 0x24]
cmp eax, 7
ja 0x5eaa45
dec eax
nop word [eax + eax]
sub eax, 1
setb dl
cmp byte [edi], 0x2e
sete dh
je 0x5eaa5b
inc edi
test dl, dl
je 0x5eaa30
jmp 0x5eaa5b
mov edx, edi
mov ecx, 0x2e
push eax
call fcn.00447f20
add esp, 4
cmp eax, 1
sete dh
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 0x4c], dh
mov dword [ebp - 0x10], 0xa
test eax, eax
je 0x5eaba0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xf0], eax
lea edx, [ebp - 0xf0]
mov byte [ebp - 0x1d], 1
add ecx, eax
mov dword [ebp - 0xec], ecx
lea ecx, [ebp - 0x51c]
mov word [ebp - 0xe8], 0
mov byte [ebp - 0xe4], 1
call fcn.005e32f0
jmp 0x5eaac5
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf0]
mov byte [ebp - 0x1d], 1
call fcn.005e32f0
movzx eax, byte [ebp - 0x510]
cmp al, 2
je 0x5eaba0
mov esi, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ebp - 0x518]
test esi, esi
jne 0x5eaafa
test edx, edx
je 0x5eaab0
mov edx, 1
call fcn.00404240
jmp 0x5eaab0
lea edi, [ebp - 0x50f]
lea ebx, [ebp - 0x6b]
mov dword [ebp - 0x10], 0x26
movzx edi, word [edi]
mov word [ebx], di
lea edi, [ebp - 0x50f]
mov ah, byte [edi + 2]
mov byte [ebx + 2], ah
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x70], esi
mov byte [ebp - 0x6c], al
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.005e51e0
add esp, 4
cmp byte [ebp - 0x4c], 0
jne 0x5eab47
lea ecx, [ebp - 0x78]
call fcn.005e95c0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x2c], edx
push dword [ebp - 0x70]
call fcn.005ef4a0
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x5eab71
mov ecx, dword [ebp - 0x2c]
mov edx, 1
call fcn.00404240
mov edi, dword [ebp - 0x51c]
test edi, edi
jne 0x5ec242
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf0]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.005e32f0
jmp 0x5eaac5
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0x1d], 1
call fcn.005e3830
cmp byte [ebp - 0xe4], 2
jne 0x5eabcc
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0x1d], 1
call fcn.005e0390
jmp 0x5eacab
movsd xmm0, qword [ebp - 0xf0]
movsd xmm1, qword [ebp - 0xe8]
mov byte [ebp - 0xaf], 1
mov dword [ebp - 0x10], 0x24
movsd qword [ebp - 0x78], xmm0
movsd qword [ebp - 0x70], xmm1
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x2c], edx
call fcn.005e6b20
test eax, eax
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x24]
je 0x5eac14
cmp dword [ebp - 0x2c], edx
jb 0x5eac14
mov dword [ebp - 0x70], edx
movsd xmm0, qword [ebp - 0x78]
movsd xmm1, qword [ebp - 0x70]
mov dword [ebp - 0x10], 0x25
lea ecx, [ebp - 0x51c]
mov edx, eax
movsd qword [ebp - 0x514], xmm1
movsd qword [ebp - 0x51c], xmm0
push esi
call fcn.005e51e0
add esp, 4
cmp byte [ebp - 0x4c], 0
jne 0x5eac57
lea ecx, [ebp - 0x51c]
call fcn.005e95c0
mov edx, dword [ebp - 0x51c]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x2c], edx
push dword [ebp - 0x514]
call fcn.005ef4a0
add esp, 4
cmp dword [ebp - 0x518], 0
je 0x5eac8a
mov ecx, dword [ebp - 0x2c]
mov edx, 1
call fcn.00404240
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x40]
test edi, edi
je 0x5eacab
mov eax, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x88]
mov dword [ebp - 0x2c], eax
jmp 0x5eae53
mov esi, 0x200
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x34], 0
cmp esi, 0x201
jb 0x5eacfe
jmp 0x5ead10
jbe 0x5eb71b
cmp esi, 0x201
jae 0x5ead10
lea edi, [ebp - 0x51c]
mov dword [ebp - 0x38], 0x200
mov ebx, esi
jmp 0x5ead57
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
sub esi, ebx
sub eax, ebx
cmp eax, esi
jae 0x5ead45
mov dword [ebp - 0x10], 0x22
lea ecx, [ebp - 0xbc]
mov edx, ebx
push esi
call fcn.00642e70
add esp, 4
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xb8]
mov dword [ebp - 0x3c], eax
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], ebx
push 0
call dword [sym.imp.kernel32.dll_SetLastError]
push ebx
push edi
call dword [sym.imp.kernel32.dll_GetSystemDirectoryW]
mov esi, eax
test eax, eax
jne 0x5ead7b
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x5eb866
cmp esi, ebx
jne 0x5eacf0
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x5ecc42
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x5ead10
jmp 0x5eacfe
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x27
lea ecx, [ebp - 0x51c]
push esi
call fcn.005de730
add esp, 4
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x51c]
mov eax, dword [ebp - 0x518]
mov ecx, dword [ebp - 0x514]
test edx, edx
je 0x5eae0d
mov dword [ebp - 0x51c], edx
mov dword [ebp - 0x514], ecx
lea ecx, [ebp - 0xa0]
lea edx, [ebp - 0x51c]
mov dword [ebp - 0x518], eax
call fcn.005ef3b0
mov esi, dword [ebp - 0x40]
jmp 0x5eae23
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa0], 0
cmp dword [ebp - 0x74], 0
je 0x5eae36
mov ecx, dword [ebp - 0x24]
mov edx, 1
call fcn.00404240
mov edi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x98]
test edi, edi
mov dword [ebp - 0x2c], eax
je 0x5eb4a2
cmp ebx, 5
mov dword [ebp - 0x34], edi
jb 0x5eae6f
cmp word [edi + ebx*2 - 0xa], 0x2e
jne 0x5eae6f
cmp word [edi + ebx*2 - 2], 0
je 0x5eb5c1
movzx ecx, byte [esi + 0x59]
mov eax, dword [esi + 0x48]
mov edi, dword [esi + 0x50]
xor edx, edx
mov dword [ebp - 0x78], 2
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x10], 0x18
mov byte [ebp - 0x38], cl
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], edi
call fcn.005deb40
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x30]
mov word [eax + ecx*2], 0x22
inc ecx
mov dword [ebp - 0x51c], edx
lea edx, [ebp - 0x51c]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x518], ecx
lea ecx, [ebp - 0x78]
mov word [ebp - 0x514], 0
call fcn.005dea10
mov edx, dword [ebp - 0x70]
cmp edx, dword [ebp - 0x74]
jne 0x5eaef4
lea ecx, [ebp - 0x78]
call fcn.005deb40
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x78]
mov esi, dword [ebp - 0x3c]
movzx ecx, byte [ebp - 0x38]
mov word [eax + edx*2], 0x22
lea eax, [esi + esi*4]
mov esi, dword [ebp - 0x24]
inc edx
movzx ecx, cl
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x28], ecx
lea eax, [esi + eax*4]
mov dword [ebp - 0x30], eax
cmp esi, dword [ebp - 0x30]
je 0x5eaf75
nop
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x24], esi
cmp edx, dword [ebp - 0x74]
jne 0x5eaf39
lea ecx, [ebp - 0x78]
call fcn.005deb40
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xf0]
mov word [eax + edx*2], 0x20
inc edx
mov dword [ebp - 0x70], edx
lea edx, [ebp - 0x78]
push dword [ebp - 0x28]
push esi
call fcn.005ef620
add esp, 8
movzx eax, byte [ebp - 0xf0]
cmp al, 4
jne 0x5eb4aa
mov esi, dword [ebp - 0x24]
add esi, 0x14
cmp esi, dword [ebp - 0x30]
jne 0x5eaf20
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
test eax, eax
je 0x5eb4ea
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov cl, 1
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x4c], edx
cmp esi, edi
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], esi
jne 0x5eafdb
lea ecx, [ebp - 0xa0]
mov edx, esi
mov byte [ebp - 0x79], 1
mov dword [ebp - 0x10], 0xc
call fcn.005deb40
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x40]
mov word [eax + esi*2], 0
inc esi
mov eax, 0x400
mov ecx, 0x608
mov dword [ebp - 0x98], esi
cmp byte [edi + 0x58], 0
cmove ecx, eax
or ecx, dword [edi + 0x54]
cmp dword [ebp - 0x114], 0
mov dword [ebp - 0x11c], ecx
je 0x5eb586
mov esi, dword [ebp - 0x108]
movsd xmm0, qword [ebp - 0x110]
mov eax, 2
mov ecx, 0
mov dword [ebp - 0x90], 2
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x30], 0
test esi, esi
mov dword [ebp - 0xb4], esi
movsd qword [ebp - 0xbc], xmm0
jne 0x5eb098
lea ecx, [ebp - 0x90]
xor edx, edx
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x10], 0x13
call fcn.005deb40
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x24]
mov word [eax + ecx*2], 0
inc ecx
mov dword [ebp - 0x88], ecx
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0xb8]
xor edx, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0x14
mov dword [ebp - 0x104], 0
test edi, edi
setne dl
cmove esi, edi
mov dword [ebp - 0x51c], edx
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x514], edi
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x50c], edx
mov dword [ebp - 0x508], 0
mov dword [ebp - 0x504], edi
mov dword [ebp - 0x500], ecx
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x51c]
mov dword [ebp - 0x4fc], esi
call fcn.005e98c0
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x5ec1b8
mov edx, dword [ebp - 0x70]
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
add eax, edx
cmp byte [ecx + eax + 0xcc], 2
je 0x5ec1b8
shl edx, 4
mov esi, dword [ecx + edx]
movzx ebx, byte [ecx + edx + 0xc]
mov dword [ebp - 0xc0], esi
mov esi, dword [ecx + edx + 4]
mov edx, dword [ecx + edx + 8]
mov byte [ebp - 0xf5], bl
xor ebx, ebx
mov dword [ebp - 0x80], edx
mov edx, dword [ecx + eax + 0xb4]
mov dword [ebp - 0xa4], esi
mov esi, dword [ecx + eax + 0xc4]
mov dword [ebp - 0xa8], edx
mov edx, dword [ecx + eax + 0xb8]
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xfc], edx
mov edx, dword [ecx + eax + 0xbc]
mov dword [ebp - 0x100], edx
mov edx, dword [ecx + eax + 0xc0]
mov ecx, dword [ecx + eax + 0xc8]
add ecx, edx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x24], ecx
jmp 0x5eb1bb
xor ebx, ebx
test di, di
je 0x5eb520
mov di, 1
test bx, bx
jne 0x5eb1b0
cmp edx, ecx
je 0x5eb24c
movzx eax, byte [edx]
movzx esi, al
test al, al
js 0x5eb1d9
inc edx
jmp 0x5eb230
movzx ecx, byte [edx + 1]
and esi, 0x1f
and ecx, 0x3f
cmp al, 0xdf
jbe 0x5eb210
movzx ebx, byte [edx + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp al, 0xf0
jb 0x5eb21d
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 0x5eb225
shl esi, 6
add edx, 2
or esi, ecx
mov ecx, dword [ebp - 0x24]
jmp 0x5eb230
shl esi, 0xc
add edx, 3
or esi, ebx
mov ecx, dword [ebp - 0x24]
cmp esi, 0xffff
ja 0x5eb239
xor ebx, ebx
mov edi, esi
jmp 0x5eb1b2
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
jmp 0x5eb1b2
cmp dword [ebp - 0xc4], 0
je 0x5eb265
mov ecx, dword [ebp - 0xf4]
mov edx, 1
call fcn.00404240
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x44]
sub eax, edi
cmp eax, esi
jae 0x5eb2a7
mov dword [ebp - 0x10], 0x17
lea ecx, [ebp - 0x90]
mov edx, edi
push esi
call fcn.00642e70
add esp, 4
mov ecx, dword [ebp - 0x90]
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x100]
lea eax, [esi + esi]
mov dword [ebp - 0x44], ecx
lea ecx, [ecx + edi*2]
push eax
mov ebx, dword [ebp - 0xa8]
push ebx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
cmp dword [ebp - 0xfc], 0
mov dword [ebp - 0x88], edi
je 0x5eb2de
mov ecx, ebx
mov edx, 2
call fcn.00404240
cmp edi, dword [ebp - 0x8c]
jne 0x5eb30c
lea ecx, [ebp - 0x90]
mov edx, edi
mov byte [ebp - 0x7a], 1
mov dword [ebp - 0x10], 0x15
call fcn.005deb40
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0x88]
jmp 0x5eb30f
mov eax, dword [ebp - 0x44]
mov word [eax + edi*2], 0x3d
inc edi
mov eax, dword [ebp - 0xc0]
and dword [ebp - 0xf4], 0xffffff00
xor esi, esi
mov dword [ebp - 0x88], edi
mov edi, dword [ebp - 0x80]
add edi, eax
mov dword [ebp - 0x80], edi
jmp 0x5eb343
xor esi, esi
test dx, dx
je 0x5ebc49
mov dx, 1
test si, si
jne 0x5eb338
cmp eax, edi
je 0x5eb3d6
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
js 0x5eb361
inc eax
jmp 0x5eb3ba
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x5eb39a
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x5eb3a7
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 0x5eb3af
shl ecx, 6
add eax, 2
or ecx, edi
mov edi, dword [ebp - 0x80]
jmp 0x5eb3ba
shl ecx, 0xc
add eax, 3
or ecx, esi
mov edi, dword [ebp - 0x80]
cmp ecx, 0xffff
ja 0x5eb3c3
xor esi, esi
mov edx, ecx
jmp 0x5eb33a
and ecx, 0x3ff
or ecx, 0xdc00
mov esi, ecx
jmp 0x5eb33a
mov ecx, dword [ebp - 0xc0]
mov eax, ecx
shr eax, 8
cmp byte [ebp - 0xf5], 2
je 0x5eca86
mov dword [ebp - 0xf0], ecx
lea ecx, [ebp - 0x90]
lea edx, [ebp - 0xf0]
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x104], eax
mov word [ebp - 0xe8], 0
mov dword [ebp - 0x10], 0x16
call fcn.005dea10
cmp dword [ebp - 0xa4], 0
je 0x5eb43a
mov ecx, dword [ebp - 0xc0]
mov edx, 1
call fcn.00404240
mov esi, dword [ebp - 0x88]
cmp esi, dword [ebp - 0x8c]
jne 0x5eb466
lea ecx, [ebp - 0x90]
mov edx, esi
mov byte [ebp - 0x7a], 0
mov dword [ebp - 0x10], 0x15
call fcn.005deb40
mov esi, dword [ebp - 0x88]
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x51c]
mov word [eax + esi*2], 0
inc esi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0x14
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x88], esi
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0x30], esi
call fcn.005e98c0
jmp 0x5eb111
mov ecx, dword [ebp - 0x2c]
jmp 0x5ea612
movzx ecx, byte [ebp - 0xe9]
mov ebx, dword [ebp - 0xef]
movzx esi, word [ebp - 0xeb]
movzx eax, al
mov edi, ebx
shl ecx, 0x10
or esi, ecx
shl edi, 8
cmp dword [ebp - 0x74], 0
je 0x5eb4e4
mov ecx, dword [ebp - 0x78]
mov edx, 2
mov dword [ebp - 0x24], eax
call fcn.00404240
mov eax, dword [ebp - 0x24]
shld esi, ebx, 8
or edi, eax
mov eax, dword [ebp - 0xac]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], 2
mov edi, dword [ebp - 0x34]
xor ebx, ebx
cmp dword [ebp - 0x2c], 0
je 0x5eb513
mov ecx, edi
mov edx, 2
call fcn.00404240
test bl, bl
je 0x5ea624
jmp 0x5ea730
cmp dword [ebp - 0xc4], 0
je 0x5eb539
mov ecx, dword [ebp - 0xf4]
mov edx, 1
call fcn.00404240
cmp dword [ebp - 0xa4], 0
je 0x5eb552
mov ecx, dword [ebp - 0xc0]
mov edx, 1
call fcn.00404240
or dword [ebp - 0x30], 2
cmp dword [ebp - 0xfc], 0
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x28], 0xa0c600
je 0x5ec169
mov edx, 2
call fcn.00404240
mov dword [ebp - 0x10], 0x13
jmp 0x5ec169
xor ecx, ecx
mov eax, 2
mov dword [ebp - 0x44], 0
cmp byte [edi + 0x44], 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], ecx
jne 0x5eb7b8
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xa4], 2
xor eax, eax
xor ecx, ecx
jmp 0x5ebd12
movzx eax, word [edi + ebx*2 - 8]
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x5eae6f
mov edx, dword [ebp - 0xc4]
add edx, dword [ecx*4 + 0x5ed4a0]
jmp edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x22
cmp esi, edx
ja 0x5ecd4a
lea ecx, [ebp - 0x78]
mov edx, edi
push esi
call fcn.005e0460
add esp, 4
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x10], 0x23
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.005e51e0
add esp, 4
cmp byte [ebp - 0x4c], 0
jne 0x5eb761
lea ecx, [ebp - 0x78]
call fcn.005e95c0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x34], edx
push dword [ebp - 0x70]
call fcn.005ef4a0
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x5eb78b
mov ecx, dword [ebp - 0x34]
mov edx, 1
call fcn.00404240
movsd xmm0, qword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
mov bl, 1
movsd qword [ebp - 0xec], xmm0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xf0], 0
jmp 0x5eb885
mov edx, dword [edi + 0x38]
mov ecx, dword [edi + 0x40]
xor ebx, ebx
add ecx, edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x24], ecx
jmp 0x5eb7d5
xor ebx, ebx
test di, di
je 0x5eba6a
mov di, 1
test bx, bx
jne 0x5eb7ca
cmp edx, ecx
je 0x5ebca6
movzx eax, byte [edx]
movzx esi, al
test al, al
js 0x5eb7f3
inc edx
jmp 0x5eb84a
movzx ecx, byte [edx + 1]
and esi, 0x1f
and ecx, 0x3f
cmp al, 0xdf
jbe 0x5eb82a
movzx ebx, byte [edx + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp al, 0xf0
jb 0x5eb837
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 0x5eb83f
shl esi, 6
add edx, 2
or esi, ecx
mov ecx, dword [ebp - 0x24]
jmp 0x5eb84a
shl esi, 0xc
add edx, 3
or esi, ebx
mov ecx, dword [ebp - 0x24]
cmp esi, 0xffff
ja 0x5eb853
xor ebx, ebx
mov edi, esi
jmp 0x5eb7cc
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
jmp 0x5eb7cc
call dword [sym.imp.kernel32.dll_GetLastError]
xor ebx, ebx
mov byte [ebp - 0xec], 0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf0], 1
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x5eb899
mov ecx, dword [ebp - 0x3c]
mov edx, 2
call fcn.00404240
test bl, bl
je 0x5eb8ab
mov edi, dword [ebp - 0xec]
test edi, edi
jne 0x5ebacd
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.005ef550
mov esi, 0x200
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x34], 0
cmp esi, 0x201
jb 0x5eb91e
jmp 0x5eb930
jbe 0x5eb9d0
cmp esi, 0x201
jae 0x5eb930
lea edi, [ebp - 0x51c]
mov dword [ebp - 0x38], 0x200
mov ebx, esi
jmp 0x5eb977
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
sub esi, ebx
sub eax, ebx
cmp eax, esi
jae 0x5eb965
mov dword [ebp - 0x10], 0x20
lea ecx, [ebp - 0xbc]
mov edx, ebx
push esi
call fcn.00642e70
add esp, 4
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xb8]
mov dword [ebp - 0x3c], eax
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], ebx
push 0
call dword [sym.imp.kernel32.dll_SetLastError]
push ebx
push edi
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
mov esi, eax
test eax, eax
jne 0x5eb99b
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x5eba8c
cmp esi, ebx
jne 0x5eb910
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x5ecc65
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x5eb930
jmp 0x5eb91e
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x20
cmp esi, edx
ja 0x5ecd77
lea ecx, [ebp - 0x78]
mov edx, edi
push esi
call fcn.005e0460
add esp, 4
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x10], 0x21
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.005e51e0
add esp, 4
cmp byte [ebp - 0x4c], 0
jne 0x5eba16
lea ecx, [ebp - 0x78]
call fcn.005e95c0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x34], edx
push dword [ebp - 0x70]
call fcn.005ef4a0
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x5eba40
mov ecx, dword [ebp - 0x34]
mov edx, 1
call fcn.00404240
movsd xmm0, qword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
mov bl, 1
movsd qword [ebp - 0xec], xmm0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xf0], 0
jmp 0x5ebaab
mov eax, dword [ebp - 0xac]
mov edi, dword [ebp - 0x34]
mov dword [eax + 4], 0xa0c600
mov dword [eax], 2
mov dword [eax + 8], 2
jmp 0x5ec837
call dword [sym.imp.kernel32.dll_GetLastError]
xor ebx, ebx
mov byte [ebp - 0xec], 0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf0], 1
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x5ebabf
mov ecx, dword [ebp - 0x3c]
mov edx, 2
call fcn.00404240
test bl, bl
je 0x5ebae4
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x5ebae4
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x40]
jmp 0x5eae53
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.005ef550
mov byte [ebp - 0x1d], 1
lea ecx, [ebp - 0x90]
mov edx, str.PATHRUST_MIN_STACKlibrary_std_src_sys_common_thread_info.rs
push 4
call fcn.005e1d80
add esp, 4
cmp byte [ebp - 0x84], 2
je 0x5ebc90
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x8c]
add edx, ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0xec], edx
mov word [ebp - 0xe8], 0
mov byte [ebp - 0xe4], 1
jmp 0x5ebb69
mov edi, dword [ebp - 0x51c]
mov esi, dword [ebp - 0x40]
test edi, edi
jne 0x5ec887
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x10], 0x1e
call fcn.005e32f0
jmp 0x5ebb94
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf0]
call fcn.005e32f0
movzx eax, byte [ebp - 0x510]
cmp al, 2
je 0x5ebc7d
mov esi, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ebp - 0x518]
test esi, esi
jne 0x5ebbc9
test edx, edx
je 0x5ebb83
mov edx, 1
call fcn.00404240
jmp 0x5ebb83
lea edi, [ebp - 0x50f]
lea ebx, [ebp - 0x6b]
mov dword [ebp - 0x10], 0x1f
movzx edi, word [edi]
mov word [ebx], di
lea edi, [ebp - 0x50f]
mov ah, byte [edi + 2]
mov byte [ebx + 2], ah
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x70], esi
mov byte [ebp - 0x6c], al
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.005e51e0
add esp, 4
cmp byte [ebp - 0x4c], 0
jne 0x5ebc16
lea ecx, [ebp - 0x78]
call fcn.005e95c0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x2c], edx
push dword [ebp - 0x70]
call fcn.005ef4a0
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x5ebb58
mov ecx, dword [ebp - 0x2c]
mov edx, 1
call fcn.00404240
jmp 0x5ebb58
cmp dword [ebp - 0xa4], 0
mov esi, 2
je 0x5ec14d
mov ecx, dword [ebp - 0xc0]
mov edx, 1
mov dword [ebp - 0x28], 0xa0c600
call fcn.00404240
mov eax, dword [ebp - 0x104]
jmp 0x5ec15a
cmp dword [ebp - 0x34], 0
je 0x5ebc90
mov ecx, dword [ebp - 0x38]
mov edx, 1
call fcn.00404240
mov byte [ebp - 0x9c], 2
mov dword [ebp - 0x98], 0xa0c650
jmp 0x5ea606
mov eax, dword [ebp - 0x80]
lea edx, [ebp - 0x51c]
mov dword [ebp - 0x10], 0xd
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x518], ecx
lea ecx, [ebp - 0x78]
mov word [ebp - 0x514], 0
call fcn.005ed5a0
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
cmp edx, eax
jne 0x5ebcf2
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x10], 0x12
call fcn.005deb40
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x40]
mov ecx, eax
and ecx, 0xffffff00
mov word [esi + edx*2], 0
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xa4], esi
movzx eax, al
xorps xmm0, xmm0
or eax, ecx
movups xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0x24], eax
push 0xa70da8
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0xa71020]
xor esi, esi
test eax, 0x7fffffff
je 0x5ebd52
mov dword [ebp - 0x10], 0xe
call fcn.00642fa0
mov edi, dword [ebp - 0x40]
xor al, 1
xor esi, esi
jmp 0x5ebd54
xor eax, eax
movzx edx, byte [0xa70dac]
xor ecx, ecx
mov dword [ebp - 0x8c], 0xa70da8
mov byte [ebp - 0x88], al
mov dword [ebp - 0x80], eax
lea eax, [edi + 8]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x10], 0xf
test dl, dl
mov byte [ebp - 0xc4], dl
mov edx, dword [edi]
setne cl
mov dword [ebp - 0x90], ecx
mov ecx, dword [edi + 8]
cmp ecx, 5
mov dword [ebp - 0xa8], ecx
lea ecx, [ebp - 0x51c]
cmove eax, esi
mov dword [ebp - 0xfc], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc0], eax
cmp eax, 5
lea eax, [edi + 0x10]
cmove eax, esi
cmp edx, 5
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 4]
cmove edx, esi
lea esi, [ebp - 0x78]
push esi
push 0xfffffffffffffff6
push eax
call fcn.005efac0
add esp, 0xc
movzx eax, byte [ebp - 0x51c]
cmp al, 4
jne 0x5ec08f
mov ecx, dword [ebp - 0xa8]
xor edx, edx
lea eax, [ebp - 0x70]
cmp ecx, 5
cmovne edx, ecx
je 0x5ebe18
mov ecx, dword [ebp - 0xfc]
mov esi, dword [ecx + 4]
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x10], 0x10
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x51c]
push eax
push 0xfffffffffffffff5
push esi
call fcn.005efac0
add esp, 0xc
movzx eax, byte [ebp - 0x51c]
cmp al, 4
jne 0x5ec0c4
mov ecx, dword [ebp - 0xc0]
xor edx, edx
lea eax, [ebp - 0x68]
cmp ecx, 5
cmovne edx, ecx
je 0x5ebe65
mov ecx, dword [ebp - 0x100]
mov esi, dword [ecx + 4]
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x10], 0x11
mov dword [ebp - 0xa8], ecx
lea ecx, [ebp - 0x51c]
push eax
push 0xfffffffffffffff4
push esi
call fcn.005efac0
add esp, 0xc
movzx eax, byte [ebp - 0x51c]
mov edi, dword [ebp - 0x34]
cmp al, 4
jne 0x5ec20d
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x518]
mov dword [ebp - 0x514], 0
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0x510], 0
mov dword [ebp - 0x504], 0
mov dword [ebp - 0x508], 0
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4f4], 0
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4dc], 0
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x51c], 0x44
test ebx, ebx
jne 0x5ebf60
cmp dword [ebp - 0xa8], 0
jne 0x5ebf60
test esi, esi
je 0x5ebf82
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x4f0], 0x100
mov dword [ebp - 0x4e4], ebx
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], esi
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x51c]
push eax
push dword [ebp - 0xf4]
push dword [ebp - 0x44]
push dword [ebp - 0x11c]
push 1
push 0
push 0
mov dword [ebp - 0x44], ecx
push ecx
push dword [ebp - 0x4c]
call dword [sym.imp.kernel32.dll_CreateProcessW]
test eax, eax
je 0x5ec761
mov eax, dword [ebp - 0xac]
movsd xmm1, qword [ebp - 0x70]
movsd xmm0, qword [ebp - 0x68]
movsd xmm2, qword [ebp - 0x78]
mov edi, dword [sym.imp.kernel32.dll_CloseHandle]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [ebp - 0xf0]
movsd qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
push esi
call edi
push dword [ebp - 0xa8]
call edi
push ebx
call edi
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x10], 0xe
call fcn.005f03f0
cmp dword [ebp - 0x24], 0
je 0x5ec02c
mov ecx, dword [ebp - 0xa4]
mov edx, 2
call fcn.00404240
cmp dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x2c]
je 0x5ec045
mov ecx, dword [ebp - 0x28]
mov edx, 2
call fcn.00404240
cmp dword [ebp - 0x9c], 0
je 0x5ec05b
mov ecx, dword [ebp - 0x44]
mov edx, 2
call fcn.00404240
cmp dword [ebp - 0x3c], 0
je 0x5ec06e
mov ecx, dword [ebp - 0x4c]
mov edx, 2
call fcn.00404240
mov ecx, dword [ebp - 0x38]
test edi, edi
sete al
or cl, al
jne 0x5ea730
mov ecx, esi
mov edx, 2
call fcn.00404240
jmp 0x5ea730
mov edx, dword [ebp - 0xac]
movzx edi, word [ebp - 0x51b]
movzx ecx, byte [ebp - 0x519]
mov esi, dword [ebp - 0x518]
mov word [edx + 1], di
mov edi, dword [ebp - 0x34]
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x5ec794
mov edx, dword [ebp - 0xac]
movzx edi, word [ebp - 0x51b]
movzx ecx, byte [ebp - 0x519]
mov esi, dword [ebp - 0x518]
mov ebx, dword [ebp - 0x40]
mov word [edx + 1], di
mov edi, dword [ebp - 0x34]
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x5ec78d
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x28], 0xa0c600
shl eax, 8
mov dword [ebp - 0x10], 0x13
or eax, esi
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x51c]
mov byte [ebp - 0x47], 0
mov dword [ebp - 0x10], 0x13
call fcn.005efa40
cmp dword [ebp - 0x8c], 0
je 0x5ec198
mov ecx, dword [ebp - 0x90]
mov edx, 2
call fcn.00404240
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x28]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], 2
jmp 0x5ec84a
lea ecx, [ebp - 0x51c]
mov byte [ebp - 0x47], 0
mov dword [ebp - 0x10], 0x13
call fcn.005efa40
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x8c]
jne 0x5ec253
lea ecx, [ebp - 0x90]
mov byte [ebp - 0x47], 0
call fcn.005deb40
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
mov edi, dword [ebp - 0x40]
jmp 0x5ec259
mov edx, dword [ebp - 0xac]
movzx ebx, word [ebp - 0x51b]
movzx ecx, byte [ebp - 0x519]
mov esi, dword [ebp - 0x518]
mov word [edx + 1], bx
mov ebx, dword [ebp - 0x40]
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x5ec781
mov eax, dword [ebp - 0x518]
mov ebx, dword [ebp - 0x514]
jmp 0x5ebad9
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
mov word [eax + edx*2], 0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
test eax, eax
jne 0x5eb594
mov edi, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x28], edx
jmp 0x5ec19e
call dword [sym.imp.kernel32.dll_GetLastError]
mov ecx, dword [ebp - 0xac]
mov byte [ecx], 0
mov dword [ecx + 4], eax
mov dword [ecx + 8], 2
push esi
call dword [sym.imp.kernel32.dll_CloseHandle]
push dword [ebp - 0xa8]
call dword [sym.imp.kernel32.dll_CloseHandle]
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [ebp - 0x78], 0
je 0x5ec7a3
push dword [ebp - 0x74]
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [ebp - 0x70], 0
je 0x5ec7b2
push dword [ebp - 0x6c]
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [ebp - 0x68], 0
je 0x5ec7c1
push dword [ebp - 0x64]
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp byte [ebp - 0xc4], 0
je 0x5ec7ea
cmp byte [ebp - 0x80], 0
jne 0x5ec816
mov eax, dword [0xa71020]
test eax, 0x7fffffff
je 0x5ec816
mov dword [ebp - 0x10], 0xe
call fcn.00642fa0
jmp 0x5ec808
cmp byte [ebp - 0x80], 0
jne 0x5ec816
mov eax, dword [0xa71020]
test eax, 0x7fffffff
je 0x5ec816
mov dword [ebp - 0x10], 0xe
call fcn.00642fa0
mov edi, dword [ebp - 0x34]
test al, al
jne 0x5ec816
mov byte [0xa70dac], 1
push 0xa70da8
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp dword [ebp - 0x24], 0
je 0x5ec837
mov ecx, dword [ebp - 0xa4]
mov edx, 2
call fcn.00404240
cmp dword [ebp - 0x30], 0
je 0x5ec84a
mov ecx, dword [ebp - 0x28]
mov edx, 2
call fcn.00404240
cmp dword [ebp - 0x9c], 0
je 0x5ec863
mov ecx, dword [ebp - 0xa0]
mov edx, 2
call fcn.00404240
cmp dword [ebp - 0x3c], 0
je 0x5ec876
mov ecx, dword [ebp - 0x4c]
mov edx, 2
call fcn.00404240
cmp byte [ebp - 0x38], 0
mov bl, 1
jne 0x5ea730
jmp 0x5eb501
mov eax, dword [ebp - 0x518]
mov ebx, dword [ebp - 0x514]
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], eax
je 0x5eae53
mov ecx, dword [ebp - 0x38]
mov edx, 1
call fcn.00404240
jmp 0x5eae53
mov dword [ebp - 0x10], 9
mov ecx, 0xa3a547
mov edx, 0x2b
push 0xa0ac78
call fcn.0063cd70
add esp, 4
jmp 0x5ecdfa
mov edx, dword [ebp - 0xa4]
movzx esi, cl
mov dword [ebp - 0x28], edx
jmp 0x5ec15a
call dword [sym.imp.kernel32.dll_GetLastError]
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x78], 0xa0c5a0
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x68], 0
mov byte [ebp - 0xf0], 0
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x10], 0x2b
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x70], ecx
lea ecx, [ebp - 0x78]
mov edx, 0xa0c5d0
mov dword [ebp - 0x8c], fcn.005e2620
mov dword [ebp - 0x6c], 1
call fcn.0063cbf0
jmp 0x5ecdfa
mov dword [ebp - 0x10], 0
mov ecx, 0xa3a547
mov edx, 0x2b
push 0xa0a510
call fcn.0063cd70
add esp, 4
jmp 0x5ecdfa
mov dword [ebp - 0x10], 3
call fcn.0043aad0
jmp 0x5ecdfa
mov edx, dword [ebp - 0x44]
mov ecx, ebx
mov dword [ebp - 0x10], 3
call fcn.0063c970
jmp 0x5ecdfa
mov byte [ebp - 0x92], 1
mov dword [ebp - 0x10], 1
call fcn.0043aad0
jmp 0x5ecdfa
mov dword [ebp - 0x10], 0
call fcn.0043aad0
jmp 0x5ecdfa
mov ecx, 1
mov edx, ebx
mov byte [ebp - 0x92], 1
call fcn.0063c970
jmp 0x5ecdfa
mov ecx, 1
mov dword [ebp - 0x10], 0
call fcn.0063c970
jmp 0x5ecdfa
mov dword [ebp - 0x10], 3
call fcn.0043aad0
jmp 0x5ecdfa
mov dword [ebp - 0x10], 4
mov ecx, 1
xor edx, edx
push 0xa0c404
call fcn.0063cc90
add esp, 4
jmp 0x5ecdfa
mov edx, dword [ebp - 0x24]
mov ecx, eax
push 0xa0c414
call fcn.0063cd00
add esp, 4
jmp 0x5ecdfa
mov dword [ebp - 0x10], 5
push 0xa0c424
call fcn.0063cc90
add esp, 4
jmp 0x5ecdfa
mov dword [ebp - 0x10], 2
mov ecx, str.assertion_failed:_self.height___0
mov edx, 0x21
push 0xa0a9d0
call fcn.0063cd70
add esp, 4
jmp 0x5ecdfa
mov ecx, 1
mov edx, 4
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.0063c970
jmp 0x5ecdfa
mov dword [ebp - 0x10], 0x22
mov ecx, str.internal_error:_entered_unreachable_codecannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225library_std_src_threadlocal.rs
mov edx, 0x28
push 0xa0cb2c
call fcn.0063cd70
add esp, 4
jmp 0x5ecdfa
mov dword [ebp - 0x10], 0x20
mov ecx, str.internal_error:_entered_unreachable_codecannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225library_std_src_threadlocal.rs
mov edx, 0x28
push 0xa0cb2c
call fcn.0063cd70
add esp, 4
jmp 0x5ecdfa
call dword [sym.imp.kernel32.dll_GetLastError]
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x51c], 0xa0c458
mov dword [ebp - 0x518], 1
mov dword [ebp - 0x50c], 0
mov byte [ebp - 0x78], 0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x10], 8
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x514], ecx
lea ecx, [ebp - 0x51c]
mov edx, 0xa0c460
mov dword [ebp - 0xec], fcn.005e2620
mov dword [ebp - 0x510], 1
call fcn.0063cbf0
jmp 0x5ecdfa
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.0043aad0
jmp 0x5ecdfa
mov ecx, dword [ebp - 0x2c]
mov edx, ebx
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.0063c970
jmp 0x5ecdfa
mov ecx, esi
push 0xa0cb3c
call fcn.0063cd00
add esp, 4
jmp 0x5ecdfa
mov dword [ebp - 0x10], 0x27
push 0xa0a578
call fcn.0063cc90
add esp, 4
jmp 0x5ecdfa
mov ecx, esi
push 0xa0cb3c
call fcn.0063cd00
add esp, 4
jmp 0x5ecdfa
ud2