Function at 0x48b320
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], 0x4aa2b0
mov dword [ebp - 0xac], ecx
call 0x48b348
pop eax
mov ecx, dword fs:[0]
mov dword [ebp - 0xc8], 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 0x48b38c
test edx, edx
jne 0x48b38c
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x3c], 0
jmp 0x48be0f
test al, al
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x98], 0
jne 0x48b5ef
mov dword [ebp - 0x2c], edx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test eax, eax
je 0x48e54e
mov esi, eax
mov dword [ebp - 0x44], eax
nop
cmp word [esi], 0
je 0x48b5e0
mov edx, esi
mov ebx, SysReAllocString
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 0x48b3e0
add ebx, 0x80000001
mov dword [ebp - 0x34], eax
cmp ebx, 1
mov dword [ebp - 0x24], ebx
je 0x48b3c0
cmp dword [ebp - 0x24], 0
je 0x48e476
lea eax, [edx + 4]
xor edi, edi
cmp word [eax - 2], 0x3d
je 0x48b430
inc edi
add eax, 2
add ecx, 0xfffffffe
jne 0x48b410
jmp 0x48b3c0
cmp edi, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
lea eax, [edi + 1]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x10], 4
jae 0x48e496
lea ecx, [ebp - 0x78]
push eax
call fcn.0047f3b0
add esp, 4
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
lea ecx, [esi + 2]
cmp edx, ecx
jb 0x48e4ad
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x10], 5
lea ecx, [ebp - 0x51c]
sub eax, esi
push eax
call fcn.0047f3b0
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 - 0x34], 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 - 0xf4]
mov byte [ebp - 0xba], al
mov eax, dword [ebp - 0x51c]
je 0x48b5e0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x48], 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.0048ee70
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x503]
movsd xmm0, qword [ebp - 0xf4]
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 - 0x34]
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 - 0xec]
movsd qword [ebp - 0x51c], xmm0
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x30]
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.0048f7a0
add esp, 8
cmp byte [ebp - 0xe8], 2
mov esi, dword [ebp - 0x38]
je 0x48b3c0
cmp dword [ebp - 0xf0], 0
je 0x48b3c0
mov ecx, dword [ebp - 0xf4]
mov edx, 1
call fcn.00425c30
jmp 0x48b3c0
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 - 0x34], 0
mov dword [ebp - 0x24], eax
xor eax, eax
test esi, esi
mov dword [ebp - 0x28], esi
setne al
cmove edx, esi
jmp 0x48b61d
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
test edx, edx
je 0x48bc5b
mov esi, dword [ebp - 0x34]
test eax, eax
je 0x48b650
test esi, esi
jne 0x48b650
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov ecx, 1
test eax, eax
je 0x48b649
nop
mov esi, dword [esi + 0x1ec]
dec eax
jne 0x48b640
xor edi, edi
xor ebx, ebx
jmp 0x48b660
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
mov ecx, eax
test eax, eax
je 0x48e3c4
movzx eax, word [esi + 0x1ea]
cmp edi, eax
jb 0x48b691
nop dword [eax + eax]
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x48e1c2
movzx edi, word [esi + 0x1e8]
inc ebx
mov esi, eax
cmp di, word [eax + 0x1ea]
jae 0x48b670
test ebx, ebx
je 0x48b6c0
mov eax, dword [esi + edi*4 + 0x1f0]
dec ebx
je 0x48b6a9
nop
mov eax, dword [eax + 0x1ec]
dec ebx
jne 0x48b6a0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], 0
jmp 0x48b6c9
lea eax, [edi + 1]
mov dword [ebp - 0x34], 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 0x48b780
mov edi, dword [ebp - 0xa0]
mov eax, ecx
mov dword [ebp - 0x28], 0
test edi, edi
je 0x48b61d
mov esi, dword [ebx + 8]
mov dword [ebp - 0x30], 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.0048f080
add esp, 0xc
cmp dword [ebp - 0x90], 0
jne 0x48b617
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x84]
mov byte [ebp - 0x91], 0
test ecx, ecx
je 0x48b9ff
nop dword [eax]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
je 0x48b948
movzx edx, word [eax + 0x1ea]
jmp 0x48b760
mov eax, edx
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x30], 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 0x48b7bd
js 0x48e426
movzx eax, byte [0x53cbf0]
mov ecx, edx
mov edx, 1
call fcn.00425bd0
mov edx, dword [ebp - 0x28]
test eax, eax
jne 0x48b7c2
jmp 0x48e44f
mov eax, 1
push edx
push dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
push eax
call fcn.004ba8e0
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 - 0x48], ah
je 0x48b81f
xor ebx, ebx
cmp ecx, 0x40000000
mov dword [ebp - 0x80], edx
setb al
jae 0x48e465
mov bl, al
lea edx, [ecx + ecx]
add ebx, ebx
test edx, edx
mov dword [ebp - 0x44], edx
js 0x48e3e7
je 0x48b828
movzx eax, byte [0x53cbf0]
mov ecx, dword [ebp - 0x44]
mov edx, ebx
call fcn.00425bd0
jmp 0x48b82a
mov eax, 2
xor ecx, ecx
jmp 0x48b838
mov eax, ebx
mov edx, dword [ebp - 0x80]
test eax, eax
je 0x48e3f8
mov ecx, dword [ebp - 0x44]
add esi, edi
push ecx
push edx
push eax
mov edi, eax
call fcn.004ba8e0
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 - 0x48]
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 0x48b8cc
mov dword [ebp - 0x28], eax
js 0x48e40e
movzx eax, byte [0x53cbf0]
mov ecx, ebx
mov edx, 1
call fcn.00425bd0
mov edi, eax
test eax, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 1
jne 0x48b8d1
jmp 0x48e437
mov edi, 1
push ebx
push eax
push edi
call fcn.004ba8e0
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 - 0xf4]
lea edx, [ebp - 0xa0]
mov byte [ebp - 0x6c], al
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x51c]
push eax
call fcn.0048f7a0
add esp, 8
cmp byte [ebp - 0xe8], 2
je 0x48b610
cmp dword [ebp - 0xf0], 0
je 0x48b610
mov ecx, dword [ebp - 0xf4]
mov edx, 1
call fcn.00425c30
jmp 0x48b610
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.0048f1e0
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 - 0xdc], xmm2
movsd qword [ebp - 0xe4], xmm1
movsd xmm2, qword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x514]
mov dword [ebp - 0xcc], eax
movsd qword [ebp - 0xd4], xmm0
mov eax, dword [ebp - 0x4e8]
movsd qword [ebp - 0xec], xmm1
movsd qword [ebp - 0xf4], xmm2
movzx ecx, word [edx + 0x1ea]
cmp eax, ecx
jae 0x48ba29
mov ecx, edx
jmp 0x48ba53
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.0048f1e0
add esp, 4
jmp 0x48bb4d
mov esi, dword [ebp - 0x4ec]
nop
mov ecx, dword [edx + 0xb0]
test ecx, ecx
je 0x48ba4f
movzx eax, word [edx + 0x1e8]
inc esi
mov edx, ecx
cmp ax, word [ecx + 0x1ea]
jae 0x48ba30
jmp 0x48ba53
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 - 0xdc]
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 - 0xd8]
movsd xmm0, qword [ebp - 0xe4]
movsd qword [ecx + edx + 0xc4], xmm0
movsd xmm0, qword [ebp - 0xf4]
movsd xmm1, qword [ebp - 0xec]
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 0x48bbdb
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x48e4c6
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.00425c30
cmp byte [ebp - 0x60], 2
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
je 0x48b61d
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 0x48bc1a
mov ecx, dword [ebp - 0x6c]
mov edx, 1
call fcn.00425c30
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
test esi, esi
je 0x48bc30
mov ecx, edi
mov edx, 2
call fcn.00425c30
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
cmp bl, 2
je 0x48b61d
cmp dword [ebp - 0x38], 0
je 0x48b61d
mov ecx, dword [ebp - 0x3c]
mov edx, 1
call fcn.00425c30
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
jmp 0x48b61d
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 [0x53cbf0]
call fcn.00425bd0
test eax, eax
je 0x48e4e9
mov ecx, eax
mov dword [eax], 0x48544150
mov dword [ebp - 0x78], eax
lea edx, [ebp - 0x78]
mov dword [ebp - 0x10], 0x2c
mov dword [ebp - 0x38], eax
add ecx, 4
mov dword [ebp - 0x74], ecx
lea ecx, [ebp - 0xf4]
mov word [ebp - 0x70], 0
call fcn.0048ee70
mov ecx, dword [ebp - 0x38]
movsd xmm0, qword [ebp - 0xf4]
mov eax, dword [ebp - 0xec]
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 - 0x34], eax
je 0x48bde6
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x30], 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 - 0x48], esi
lea ebx, [eax + eax*2]
add ebx, esi
mov esi, 0xffffffff
nop
test ebx, ebx
je 0x48bda0
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 - 0x34]
call dword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
mov ecx, dword [ebp - 0x24]
add ebx, 0xffffffe4
add edi, 0x10
inc esi
cmp eax, 3
je 0x48bd60
cmp eax, 1
jne 0x48bdc4
jmp 0x48bda3
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
sub ecx, 1
jb 0x48c2bb
mov edx, dword [edx + esi*4 + 0x1ec]
mov dword [ebp - 0x30], ecx
jmp 0x48bd3b
mov esi, dword [ebp - 0x40]
cmp eax, 2
jne 0x48e35d
cmp dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x38]
je 0x48bded
mov eax, dword [edi - 8]
mov edx, dword [edi]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], edx
jmp 0x48bded
mov dword [ebp - 0x3c], 0
mov edx, 1
call fcn.00425c30
cmp dword [ebp - 0x518], 0
je 0x48be0d
mov ecx, dword [ebp - 0x34]
mov edx, 2
call fcn.00425c30
mov ecx, esi
mov esi, dword [ecx + 0x20]
test esi, esi
je 0x48be62
mov edx, dword [ecx + 0x18]
mov ecx, 0x490c60
cmp esi, 4
jb 0x48be38
cmp dword [edx], 0x5c3f5c5c
mov eax, 0x490c50
mov dword [ebp - 0x10], 0xa
cmove ecx, eax
movzx eax, byte [esi + edx - 1]
mov dword [ebp - 0x34], 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 0x48bef5
mov byte [ebp - 0x9c], 2
mov dword [ebp - 0x98], 0x4eb74c
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 0x48bf9d
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x48bf75
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 0x48bf79
mov edi, dword [ebp - 0x34]
xor eax, eax
cmp ebx, 3
mov ecx, 0
jbe 0x48bfb3
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 0x48bfb1
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 0x48bfb1
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 0x48bfb1
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 0x48bfb3
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.00491310
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 0x48c03d
movzx edx, byte [edi + eax]
cmp edx, 0x2f
je 0x48bfd3
inc eax
cmp edx, 0x5c
jne 0x48bfc0
test cl, cl
je 0x48c0fc
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x51c]
mov edx, edi
push ebx
call fcn.0047d8b0
add esp, 4
mov edx, dword [ebp - 0x51c]
mov eax, dword [ebp - 0x518]
mov ecx, dword [ebp - 0x514]
test edx, edx
je 0x48c1fd
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.00490e00
jmp 0x48c213
xor esi, esi
mov eax, edi
jmp 0x48c05b
xor esi, esi
test dx, dx
je 0x48c1e4
mov dx, 1
test si, si
jne 0x48c050
cmp eax, dword [ebp - 0x28]
je 0x48c287
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
js 0x48c07a
inc eax
jmp 0x48c0e0
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x48c0b3
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x48c0c0
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 0x48c0c8
shl ecx, 6
add eax, 2
or ecx, edi
mov edi, dword [ebp - 0x34]
jmp 0x48c0e0
shl ecx, 0xc
add eax, 3
or ecx, esi
mov edi, dword [ebp - 0x34]
cmp ecx, 0xffff
ja 0x48c0e9
nop word cs:[eax + eax]
nop dword [eax]
xor esi, esi
mov edx, ecx
jmp 0x48c052
and ecx, 0x3ff
or ecx, 0xdc00
mov esi, ecx
jmp 0x48c052
xor edx, edx
test ebx, ebx
setns al
js 0x48e5be
mov dl, al
movzx eax, byte [0x53cbf0]
mov ecx, ebx
mov dword [ebp - 0x2c], edx
call fcn.00425bd0
test eax, eax
je 0x48e5d3
mov esi, eax
push ebx
push edi
push eax
call fcn.004ba8e0
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], 0x1f
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.00484960
add esp, 4
movsd xmm0, qword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x514]
mov byte [ebp - 0xaf], 1
mov dword [ebp - 0x10], 0x1e
lea ecx, [ebp - 0xf4]
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.00490c80
add esp, 4
cmp dword [ebp - 0xf4], 0
mov esi, dword [ebp - 0x40]
je 0x48c21b
mov eax, dword [ebp - 0xec]
movsd xmm0, qword [ebp - 0xf4]
mov dword [ebp - 0x98], eax
movsd qword [ebp - 0xa0], xmm0
jmp 0x48c356
mov dword [ebp - 0x9c], 2
mov dword [ebp - 0x98], 0x4eb6fc
jmp 0x48be73
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa0], 0
mov esi, dword [ebp - 0x40]
jmp 0x48c369
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x20
call fcn.0048ac80
test eax, eax
je 0x48c2e3
cmp edx, 2
jne 0x48c24a
movzx esi, word [eax]
mov ecx, 2
cmp esi, 0x2e2e
je 0x48c26d
mov esi, edx
nop dword [eax]
test esi, esi
je 0x48c26b
mov ecx, esi
dec esi
cmp byte [eax + ecx - 1], 0x2e
jne 0x48c250
cmp edx, ecx
jb 0x48e624
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 0x48c2e6
mov esi, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0x20
jmp 0x48c2e6
mov esi, dword [ebp - 0x24]
cmp esi, 7
ja 0x48c2c5
mov ecx, dword [ebp - 0x2c]
xor eax, eax
nop word cs:[eax + eax]
nop
cmp byte [edi + eax], 0x2e
je 0x48cd09
inc eax
cmp esi, eax
jne 0x48c2a0
mov dword [ebp - 0x48], 0
jmp 0x48cd10
mov ecx, dword [ebp - 0x38]
mov esi, eax
jmp 0x48bded
mov ecx, 0x2e
mov edx, edi
push esi
call fcn.0042cdb0
add esp, 4
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
jmp 0x48cd13
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x20
lea ecx, [ebp - 0x51c]
push esi
call fcn.0047d8b0
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 0x48c340
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.00490e00
mov esi, dword [ebp - 0x40]
jmp 0x48c356
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa0], 0
cmp dword [ebp - 0x74], 0
je 0x48c369
mov ecx, dword [ebp - 0x24]
mov edx, 1
call fcn.00425c30
mov edi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x98]
test edi, edi
mov dword [ebp - 0x2c], eax
je 0x48c9e2
cmp ebx, 5
mov dword [ebp - 0x30], edi
jb 0x48c3a2
cmp word [edi + ebx*2 - 0xa], 0x2e
jne 0x48c3a2
cmp word [edi + ebx*2 - 2], 0
je 0x48cb01
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], 0x1b
mov byte [ebp - 0x38], cl
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], edi
call fcn.0047dcd0
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x34]
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.0047dba0
mov edx, dword [ebp - 0x70]
cmp edx, dword [ebp - 0x74]
jne 0x48c427
lea ecx, [ebp - 0x78]
call fcn.0047dcd0
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 - 0x34], eax
cmp esi, dword [ebp - 0x34]
je 0x48c4b5
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x24], esi
cmp edx, dword [ebp - 0x74]
jne 0x48c479
lea ecx, [ebp - 0x78]
call fcn.0047dcd0
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xf4]
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.00490ef0
add esp, 8
movzx eax, byte [ebp - 0xf4]
cmp al, 4
jne 0x48c9ea
mov esi, dword [ebp - 0x24]
add esi, 0x14
cmp esi, dword [ebp - 0x34]
jne 0x48c460
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
test eax, eax
je 0x48ca2a
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 1
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x3c], edx
cmp esi, edi
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], esi
jne 0x48c51b
lea ecx, [ebp - 0xa0]
mov edx, esi
mov byte [ebp - 0x79], 1
mov dword [ebp - 0x10], 0xc
call fcn.0047dcd0
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 0x48cac6
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 - 0x34], 0
test esi, esi
mov dword [ebp - 0xb4], esi
movsd qword [ebp - 0xbc], xmm0
jne 0x48c5d8
lea ecx, [ebp - 0x90]
xor edx, edx
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x4b], 1
mov dword [ebp - 0x10], 0x13
call fcn.0047dcd0
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.0048b0c0
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x48da47
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 0x48da47
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 - 0xf9], bl
xor ebx, ebx
mov dword [ebp - 0x80], edx
mov edx, dword [ecx + eax + 0xb4]
mov dword [ebp - 0xc4], esi
mov esi, dword [ecx + eax + 0xc4]
mov dword [ebp - 0xa8], edx
mov edx, dword [ecx + eax + 0xb8]
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xa4], 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 - 0xf8], edx
mov dword [ebp - 0x24], ecx
jmp 0x48c6fb
xor ebx, ebx
test di, di
je 0x48ca60
mov di, 1
test bx, bx
jne 0x48c6f0
cmp edx, ecx
je 0x48c78c
movzx eax, byte [edx]
movzx esi, al
test al, al
js 0x48c719
inc edx
jmp 0x48c770
movzx ecx, byte [edx + 1]
and esi, 0x1f
and ecx, 0x3f
cmp al, 0xdf
jbe 0x48c750
movzx ebx, byte [edx + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp al, 0xf0
jb 0x48c75d
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 0x48c765
shl esi, 6
add edx, 2
or esi, ecx
mov ecx, dword [ebp - 0x24]
jmp 0x48c770
shl esi, 0xc
add edx, 3
or esi, ebx
mov ecx, dword [ebp - 0x24]
cmp esi, 0xffff
ja 0x48c779
xor ebx, ebx
mov edi, esi
jmp 0x48c6f2
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
jmp 0x48c6f2
cmp dword [ebp - 0xc8], 0
je 0x48c7a5
mov ecx, dword [ebp - 0xf8]
mov edx, 1
call fcn.00425c30
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 0x48c7e7
mov dword [ebp - 0x10], 0x17
lea ecx, [ebp - 0x90]
mov edx, edi
push esi
call fcn.004cb130
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 fcn.004ba8e0
add esp, 0xc
add edi, esi
cmp dword [ebp - 0xa4], 0
mov dword [ebp - 0x88], edi
je 0x48c81e
mov ecx, ebx
mov edx, 2
call fcn.00425c30
cmp edi, dword [ebp - 0x8c]
jne 0x48c84c
lea ecx, [ebp - 0x90]
mov edx, edi
mov byte [ebp - 0x7a], 1
mov dword [ebp - 0x10], 0x15
call fcn.0047dcd0
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0x88]
jmp 0x48c84f
mov eax, dword [ebp - 0x44]
mov word [eax + edi*2], 0x3d
inc edi
mov eax, dword [ebp - 0xc0]
and dword [ebp - 0xf8], 0xffffff00
xor esi, esi
mov dword [ebp - 0x88], edi
mov edi, dword [ebp - 0x80]
add edi, eax
mov dword [ebp - 0x80], edi
jmp 0x48c883
xor esi, esi
test dx, dx
je 0x48d4d5
mov dx, 1
test si, si
jne 0x48c878
cmp eax, edi
je 0x48c916
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
js 0x48c8a1
inc eax
jmp 0x48c8fa
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x48c8da
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x48c8e7
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 0x48c8ef
shl ecx, 6
add eax, 2
or ecx, edi
mov edi, dword [ebp - 0x80]
jmp 0x48c8fa
shl ecx, 0xc
add eax, 3
or ecx, esi
mov edi, dword [ebp - 0x80]
cmp ecx, 0xffff
ja 0x48c903
xor esi, esi
mov edx, ecx
jmp 0x48c87a
and ecx, 0x3ff
or ecx, 0xdc00
mov esi, ecx
jmp 0x48c87a
mov ecx, dword [ebp - 0xc0]
mov eax, ecx
shr eax, 8
cmp byte [ebp - 0xf9], 2
je 0x48e34c
mov dword [ebp - 0xf4], ecx
lea ecx, [ebp - 0x90]
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0x104], eax
mov word [ebp - 0xec], 0
mov dword [ebp - 0x10], 0x16
call fcn.0047dba0
cmp dword [ebp - 0xc4], 0
je 0x48c97a
mov ecx, dword [ebp - 0xc0]
mov edx, 1
call fcn.00425c30
mov esi, dword [ebp - 0x88]
cmp esi, dword [ebp - 0x8c]
jne 0x48c9a6
lea ecx, [ebp - 0x90]
mov edx, esi
mov byte [ebp - 0x7a], 0
mov dword [ebp - 0x10], 0x15
call fcn.0047dcd0
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 - 0xf8]
mov dword [ebp - 0x34], esi
call fcn.0048b0c0
jmp 0x48c651
mov ecx, dword [ebp - 0x2c]
jmp 0x48be7f
movzx ecx, byte [ebp - 0xed]
mov ebx, dword [ebp - 0xf3]
movzx esi, word [ebp - 0xef]
movzx eax, al
mov edi, ebx
shl ecx, 0x10
or esi, ecx
shl edi, 8
cmp dword [ebp - 0x74], 0
je 0x48ca24
mov ecx, dword [ebp - 0x78]
mov edx, 2
mov dword [ebp - 0x24], eax
call fcn.00425c30
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 - 0x30]
xor ebx, ebx
cmp dword [ebp - 0x2c], 0
je 0x48ca53
mov ecx, edi
mov edx, 2
call fcn.00425c30
test bl, bl
je 0x48be91
jmp 0x48bf9d
cmp dword [ebp - 0xc8], 0
je 0x48ca79
mov ecx, dword [ebp - 0xf8]
mov edx, 1
call fcn.00425c30
cmp dword [ebp - 0xc4], 0
je 0x48ca92
mov ecx, dword [ebp - 0xc0]
mov edx, 1
call fcn.00425c30
or dword [ebp - 0x34], 2
cmp dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x28], 0x4eb6fc
je 0x48d9f8
mov edx, 2
call fcn.00425c30
mov dword [ebp - 0x10], 0x13
jmp 0x48d9f8
xor ecx, ecx
mov eax, 2
mov dword [ebp - 0x44], 0
cmp byte [edi + 0x44], 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], ecx
jne 0x48cc5b
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xa8], 2
xor eax, eax
xor ecx, ecx
jmp 0x48d59e
movzx eax, word [edi + ebx*2 - 8]
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x48c3a2
mov edx, dword [ebp - 0xc8]
add edx, dword [ecx*4 + 0x48ed70]
jmp edx
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 0x48cc78
xor ebx, ebx
test di, di
je 0x48d2fa
mov di, 1
test bx, bx
jne 0x48cc6d
cmp edx, ecx
je 0x48d532
movzx eax, byte [edx]
movzx esi, al
test al, al
js 0x48cc96
inc edx
jmp 0x48cced
movzx ecx, byte [edx + 1]
and esi, 0x1f
and ecx, 0x3f
cmp al, 0xdf
jbe 0x48cccd
movzx ebx, byte [edx + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp al, 0xf0
jb 0x48ccda
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 0x48cce2
shl esi, 6
add edx, 2
or esi, ecx
mov ecx, dword [ebp - 0x24]
jmp 0x48cced
shl esi, 0xc
add edx, 3
or esi, ebx
mov ecx, dword [ebp - 0x24]
cmp esi, 0xffff
ja 0x48ccf6
xor ebx, ebx
mov edi, esi
jmp 0x48cc6f
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
jmp 0x48cc6f
mov dword [ebp - 0x48], 1
mov eax, dword [ebp - 0x3c]
test eax, eax
mov dword [ebp - 0x10], 0xa
je 0x48ce50
add ecx, eax
mov dword [ebp - 0xf4], eax
lea edx, [ebp - 0xf4]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0xf0], ecx
lea ecx, [ebp - 0x51c]
mov word [ebp - 0xec], 0
mov byte [ebp - 0xe8], 1
call fcn.00483f50
jmp 0x48cd75
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf4]
mov byte [ebp - 0x1d], 1
call fcn.00483f50
movzx eax, byte [ebp - 0x510]
cmp al, 2
je 0x48ce50
mov esi, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ebp - 0x518]
test esi, esi
jne 0x48cdaa
test edx, edx
je 0x48cd60
mov edx, 1
call fcn.00425c30
jmp 0x48cd60
lea edi, [ebp - 0x50f]
lea ebx, [ebp - 0x6b]
mov dword [ebp - 0x10], 0x29
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 - 0x34]
mov dword [ebp - 0x70], esi
mov byte [ebp - 0x6c], al
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.00486330
add esp, 4
cmp dword [ebp - 0x48], 1
je 0x48cdf7
lea ecx, [ebp - 0x78]
call fcn.0048ada0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x2c], edx
push dword [ebp - 0x70]
call fcn.00490c80
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x48ce21
mov ecx, dword [ebp - 0x2c]
mov edx, 1
call fcn.00425c30
mov edi, dword [ebp - 0x51c]
test edi, edi
jne 0x48dad1
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf4]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.00483f50
jmp 0x48cd75
lea ecx, [ebp - 0xf4]
mov byte [ebp - 0x1d], 1
call fcn.00484770
cmp byte [ebp - 0xe8], 2
jne 0x48ce7c
lea ecx, [ebp - 0xf4]
mov byte [ebp - 0x1d], 1
call fcn.0047f2e0
jmp 0x48cf5b
movsd xmm0, qword [ebp - 0xf4]
movsd xmm1, qword [ebp - 0xec]
mov byte [ebp - 0xae], 1
mov dword [ebp - 0x10], 0x27
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.00487ca0
test eax, eax
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
je 0x48cec4
cmp dword [ebp - 0x2c], edx
jb 0x48cec4
mov dword [ebp - 0x70], edx
movsd xmm0, qword [ebp - 0x78]
movsd xmm1, qword [ebp - 0x70]
mov dword [ebp - 0x10], 0x28
lea ecx, [ebp - 0x51c]
mov edx, eax
movsd qword [ebp - 0x514], xmm1
movsd qword [ebp - 0x51c], xmm0
push esi
call fcn.00486330
add esp, 4
cmp dword [ebp - 0x48], 1
je 0x48cf07
lea ecx, [ebp - 0x51c]
call fcn.0048ada0
mov edx, dword [ebp - 0x51c]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x2c], edx
push dword [ebp - 0x514]
call fcn.00490c80
add esp, 4
cmp dword [ebp - 0x518], 0
je 0x48cf3a
mov ecx, dword [ebp - 0x2c]
mov edx, 1
call fcn.00425c30
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x40]
test edi, edi
je 0x48cf5b
mov eax, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x88]
mov dword [ebp - 0x2c], eax
jmp 0x48c386
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 - 0x30], 0
cmp esi, 0x201
jb 0x48cfae
jmp 0x48cfc0
jbe 0x48d060
cmp esi, 0x201
jae 0x48cfc0
mov dword [ebp - 0x38], 0x200
lea ebx, [ebp - 0x51c]
mov edi, esi
jmp 0x48d007
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
sub esi, edi
sub eax, edi
cmp eax, esi
jae 0x48cff5
mov dword [ebp - 0x10], 0x25
lea ecx, [ebp - 0xbc]
mov edx, edi
push esi
call fcn.004cb130
add esp, 4
mov eax, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xb8]
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], edi
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov esi, eax
test eax, eax
jne 0x48d02b
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x48d0fa
cmp esi, edi
jne 0x48cfa0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x48e508
lea esi, [edi + edi]
test edi, edi
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x48cfc0
jmp 0x48cfae
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x25
cmp esi, edx
ja 0x48e610
lea ecx, [ebp - 0x78]
mov edx, ebx
push esi
call fcn.0047f3b0
add esp, 4
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x26
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.00486330
add esp, 4
cmp dword [ebp - 0x48], 1
je 0x48d0a6
lea ecx, [ebp - 0x78]
call fcn.0048ada0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x30], edx
push dword [ebp - 0x70]
call fcn.00490c80
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x48d0d0
mov ecx, dword [ebp - 0x30]
mov edx, 1
call fcn.00425c30
movsd xmm0, qword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
mov bl, 1
movsd qword [ebp - 0xf0], xmm0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf4], 0
jmp 0x48d119
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
mov byte [ebp - 0xf0], 0
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0x2c], 0
je 0x48d12c
mov ecx, dword [ebp - 0x3c]
mov edx, 2
call fcn.00425c30
test bl, bl
je 0x48d13e
mov edi, dword [ebp - 0xf0]
test edi, edi
jne 0x48d35c
lea ecx, [ebp - 0xf4]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.00490d30
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 - 0x30], 0
cmp esi, 0x201
jb 0x48d1ae
jmp 0x48d1c0
jbe 0x48d260
cmp esi, 0x201
jae 0x48d1c0
mov dword [ebp - 0x38], 0x200
lea ebx, [ebp - 0x51c]
mov edi, esi
jmp 0x48d207
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
sub esi, edi
sub eax, edi
cmp eax, esi
jae 0x48d1f5
mov dword [ebp - 0x10], 0x23
lea ecx, [ebp - 0xbc]
mov edx, edi
push esi
call fcn.004cb130
add esp, 4
mov eax, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xb8]
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], edi
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov esi, eax
test eax, eax
jne 0x48d22b
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x48d31c
cmp esi, edi
jne 0x48d1a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x48e52b
lea esi, [edi + edi]
test edi, edi
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x48d1c0
jmp 0x48d1ae
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x23
cmp esi, edx
ja 0x48e63d
lea ecx, [ebp - 0x78]
mov edx, ebx
push esi
call fcn.0047f3b0
add esp, 4
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x24
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.00486330
add esp, 4
cmp dword [ebp - 0x48], 1
je 0x48d2a6
lea ecx, [ebp - 0x78]
call fcn.0048ada0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x30], edx
push dword [ebp - 0x70]
call fcn.00490c80
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x48d2d0
mov ecx, dword [ebp - 0x30]
mov edx, 1
call fcn.00425c30
movsd xmm0, qword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
mov bl, 1
movsd qword [ebp - 0xf0], xmm0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf4], 0
jmp 0x48d33b
mov eax, dword [ebp - 0xac]
mov edi, dword [ebp - 0x30]
mov dword [eax + 4], 0x4eb6fc
mov dword [eax], 2
mov dword [eax + 8], 2
jmp 0x48e0fd
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
mov byte [ebp - 0xf0], 0
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0x2c], 0
je 0x48d34e
mov ecx, dword [ebp - 0x3c]
mov edx, 2
call fcn.00425c30
test bl, bl
je 0x48d373
mov edi, dword [ebp - 0xf0]
test edi, edi
je 0x48d373
mov eax, dword [ebp - 0xec]
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x40]
jmp 0x48c386
lea ecx, [ebp - 0xf4]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.00490d30
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.004827a0
add esp, 4
cmp byte [ebp - 0x84], 2
je 0x48d51c
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x8c]
add edx, ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0xf0], edx
mov word [ebp - 0xec], 0
mov byte [ebp - 0xe8], 1
jmp 0x48d3f5
mov edi, dword [ebp - 0x51c]
test edi, edi
jne 0x48e14d
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf4]
mov dword [ebp - 0x10], 0x21
call fcn.00483f50
jmp 0x48d420
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0xf4]
call fcn.00483f50
movzx eax, byte [ebp - 0x510]
cmp al, 2
je 0x48d509
mov esi, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ebp - 0x518]
test esi, esi
jne 0x48d455
test edx, edx
je 0x48d40f
mov edx, 1
call fcn.00425c30
jmp 0x48d40f
lea edi, [ebp - 0x50f]
lea ebx, [ebp - 0x6b]
mov dword [ebp - 0x10], 0x22
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 - 0x34]
mov dword [ebp - 0x70], esi
mov byte [ebp - 0x6c], al
lea ecx, [ebp - 0x78]
push dword [ebp - 0x24]
call fcn.00486330
add esp, 4
cmp dword [ebp - 0x48], 1
je 0x48d4a2
lea ecx, [ebp - 0x78]
call fcn.0048ada0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x2c], edx
push dword [ebp - 0x70]
call fcn.00490c80
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x48d3e7
mov ecx, dword [ebp - 0x2c]
mov edx, 1
call fcn.00425c30
jmp 0x48d3e7
cmp dword [ebp - 0xc4], 0
mov esi, 2
je 0x48d9dc
mov ecx, dword [ebp - 0xc0]
mov edx, 1
mov dword [ebp - 0x28], 0x4eb6fc
call fcn.00425c30
mov eax, dword [ebp - 0x104]
jmp 0x48d9e9
cmp dword [ebp - 0x30], 0
je 0x48d51c
mov ecx, dword [ebp - 0x38]
mov edx, 1
call fcn.00425c30
mov byte [ebp - 0x9c], 2
mov dword [ebp - 0x98], 0x4eb720
jmp 0x48be73
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.0048ee70
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
cmp edx, eax
jne 0x48d57e
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x10], 0x12
call fcn.0047dcd0
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 - 0xf8], esi
mov dword [ebp - 0xa8], esi
movzx eax, al
xorps xmm0, xmm0
or eax, ecx
movups xmmword [ebp - 0xf4], xmm0
mov dword [ebp - 0x24], eax
push 0x53cb90
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x53cbe4]
xor esi, esi
test eax, 0x7fffffff
je 0x48d5de
mov dword [ebp - 0x10], 0xe
call fcn.004cb260
mov edi, dword [ebp - 0x40]
xor al, 1
xor esi, esi
jmp 0x48d5e0
xor eax, eax
movzx edx, byte [0x53cb94]
xor ecx, ecx
mov dword [ebp - 0x8c], 0x53cb90
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 - 0xc8], dl
mov edx, dword [edi]
setne cl
mov dword [ebp - 0x90], ecx
mov ecx, dword [edi + 8]
cmp ecx, 5
mov dword [ebp - 0xa4], ecx
lea ecx, [ebp - 0x51c]
cmove eax, esi
mov dword [ebp - 0xc4], 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.00491390
add esp, 0xc
movzx eax, byte [ebp - 0x51c]
cmp al, 4
jne 0x48d91e
mov ecx, dword [ebp - 0xa4]
xor edx, edx
lea eax, [ebp - 0x70]
cmp ecx, 5
cmovne edx, ecx
je 0x48d6a4
mov ecx, dword [ebp - 0xc4]
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.00491390
add esp, 0xc
movzx eax, byte [ebp - 0x51c]
cmp al, 4
jne 0x48d953
mov ecx, dword [ebp - 0xc0]
xor edx, edx
lea eax, [ebp - 0x68]
cmp ecx, 5
cmovne edx, ecx
je 0x48d6f1
mov ecx, dword [ebp - 0x100]
mov esi, dword [ecx + 4]
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x10], 0x11
mov dword [ebp - 0xa4], ecx
lea ecx, [ebp - 0x51c]
push eax
push 0xfffffffffffffff4
push esi
call fcn.00491390
add esp, 0xc
movzx eax, byte [ebp - 0x51c]
mov edi, dword [ebp - 0x30]
cmp al, 4
jne 0x48da9c
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 0x48d7ec
cmp dword [ebp - 0xa4], 0
jne 0x48d7ec
test esi, esi
je 0x48d80e
mov eax, dword [ebp - 0xa4]
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 - 0xf4]
push eax
lea eax, [ebp - 0x51c]
push eax
push dword [ebp - 0xf8]
push dword [ebp - 0x44]
push dword [ebp - 0x11c]
push 1
push 0
push 0
mov dword [ebp - 0x44], ecx
push ecx
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x48e027
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 - 0xf4]
movsd qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
push esi
call edi
push dword [ebp - 0xa4]
call edi
push ebx
call edi
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x10], 0xe
call fcn.00491cc0
cmp dword [ebp - 0x24], 0
je 0x48d8b8
mov ecx, dword [ebp - 0xa8]
mov edx, 2
call fcn.00425c30
cmp dword [ebp - 0x34], 0
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
je 0x48d8d1
mov ecx, dword [ebp - 0x28]
mov edx, 2
call fcn.00425c30
cmp dword [ebp - 0x9c], 0
je 0x48d8e7
mov ecx, dword [ebp - 0x44]
mov edx, 2
call fcn.00425c30
cmp dword [ebp - 0x3c], 0
je 0x48d8fa
mov ecx, dword [ebp - 0x48]
mov edx, 2
call fcn.00425c30
mov ecx, dword [ebp - 0x38]
test edi, edi
sete al
or cl, al
cmp cl, 1
je 0x48bf9d
mov ecx, esi
mov edx, 2
call fcn.00425c30
jmp 0x48bf9d
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 - 0x30]
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x48e05a
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 - 0x30]
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x48e053
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x28], 0x4eb6fc
shl eax, 8
mov dword [ebp - 0x10], 0x13
or eax, esi
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x51c]
mov byte [ebp - 0x4b], 0
mov dword [ebp - 0x10], 0x13
call fcn.00491310
cmp dword [ebp - 0x8c], 0
je 0x48da27
mov ecx, dword [ebp - 0x90]
mov edx, 2
call fcn.00425c30
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
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 0x48e110
lea ecx, [ebp - 0x51c]
mov byte [ebp - 0x4b], 0
mov dword [ebp - 0x10], 0x13
call fcn.00491310
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x8c]
jne 0x48dae2
lea ecx, [ebp - 0x90]
mov byte [ebp - 0x4b], 0
call fcn.0047dcd0
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
mov edi, dword [ebp - 0x40]
jmp 0x48dae8
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 0x48e047
mov eax, dword [ebp - 0x518]
mov ebx, dword [ebp - 0x514]
jmp 0x48d368
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 0x48cad4
mov edi, dword [ebp - 0x30]
inc edx
mov dword [ebp - 0x28], edx
jmp 0x48da2d
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 - 0xa4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x78], 0
je 0x48e069
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x70], 0
je 0x48e078
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x68], 0
je 0x48e087
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0xc8], 0
je 0x48e0b0
cmp byte [ebp - 0x80], 0
jne 0x48e0dc
mov eax, dword [0x53cbe4]
test eax, 0x7fffffff
je 0x48e0dc
mov dword [ebp - 0x10], 0xe
call fcn.004cb260
jmp 0x48e0ce
cmp byte [ebp - 0x80], 0
jne 0x48e0dc
mov eax, dword [0x53cbe4]
test eax, 0x7fffffff
je 0x48e0dc
mov dword [ebp - 0x10], 0xe
call fcn.004cb260
mov edi, dword [ebp - 0x30]
test al, al
jne 0x48e0dc
mov byte [0x53cb94], 1
push 0x53cb90
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp dword [ebp - 0x24], 0
je 0x48e0fd
mov ecx, dword [ebp - 0xa8]
mov edx, 2
call fcn.00425c30
cmp dword [ebp - 0x34], 0
je 0x48e110
mov ecx, dword [ebp - 0x28]
mov edx, 2
call fcn.00425c30
cmp dword [ebp - 0x9c], 0
je 0x48e129
mov ecx, dword [ebp - 0xa0]
mov edx, 2
call fcn.00425c30
cmp dword [ebp - 0x3c], 0
je 0x48e13c
mov ecx, dword [ebp - 0x48]
mov edx, 2
call fcn.00425c30
cmp byte [ebp - 0x38], 0
mov bl, 1
jne 0x48bf9d
jmp 0x48ca41
mov eax, dword [ebp - 0x518]
mov ebx, dword [ebp - 0x514]
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], eax
je 0x48d36b
mov ecx, dword [ebp - 0x38]
mov edx, 1
call fcn.00425c30
jmp 0x48d36b
mov dword [ebp - 0x10], 9
mov ecx, 0x4f022c
mov edx, 0x2b
push 0x4e9c24
call fcn.004c88c0
add esp, 4
jmp 0x48e6c0
mov edx, dword [ebp - 0xc4]
movzx esi, cl
mov dword [ebp - 0x28], edx
jmp 0x48d9e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0xf4]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x78], 0x4eb69c
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x68], 0
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x10], 0x2b
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x70], ecx
lea ecx, [ebp - 0x78]
mov edx, 0x4eb6cc
mov dword [ebp - 0x8c], fcn.00483320
mov dword [ebp - 0x6c], 1
call fcn.004c8740
jmp 0x48e6c0
mov dword [ebp - 0x10], 0
mov ecx, 0x4f022c
mov edx, 0x2b
push 0x4e9414
call fcn.004c88c0
add esp, 4
jmp 0x48e6c0
mov dword [ebp - 0x10], 3
call fcn.00425d50
jmp 0x48e6c0
mov edx, dword [ebp - 0x44]
mov ecx, ebx
mov dword [ebp - 0x10], 3
call fcn.004c8580
jmp 0x48e6c0
mov byte [ebp - 0x92], 1
mov dword [ebp - 0x10], 1
call fcn.00425d50
jmp 0x48e6c0
mov dword [ebp - 0x10], 0
call fcn.00425d50
jmp 0x48e6c0
mov ecx, 1
mov edx, ebx
mov byte [ebp - 0x92], 1
call fcn.004c8580
jmp 0x48e6c0
mov ecx, 1
mov dword [ebp - 0x10], 0
call fcn.004c8580
jmp 0x48e6c0
mov dword [ebp - 0x10], 3
call fcn.00425d50
jmp 0x48e6c0
mov dword [ebp - 0x10], 4
mov ecx, 1
xor edx, edx
push 0x4eb4f8
call fcn.004c87e0
add esp, 4
jmp 0x48e6c0
mov edx, dword [ebp - 0x24]
mov ecx, eax
push 0x4eb4d8
call fcn.004c8850
add esp, 4
jmp 0x48e6c0
mov dword [ebp - 0x10], 5
push 0x4eb4e8
call fcn.004c87e0
add esp, 4
jmp 0x48e6c0
mov dword [ebp - 0x10], 2
mov ecx, str.assertion_failed:_self.height___0
mov edx, 0x21
push 0x4e997c
call fcn.004c88c0
add esp, 4
jmp 0x48e6c0
mov ecx, 1
mov edx, 4
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.004c8580
jmp 0x48e6c0
mov dword [ebp - 0x10], 0x25
mov ecx, str.internal_error:_entered_unreachable_codeC:UsersAdministrator.WIN7_2021OVWRCZ.cargo_registry_srcmirrors.ustc.edu.cn_12df342d903acd47webpki_0.22.0_srccalendar.rs
mov edx, 0x28
push 0x4ebc3c
call fcn.004c88c0
add esp, 4
jmp 0x48e6c0
mov dword [ebp - 0x10], 0x23
mov ecx, str.internal_error:_entered_unreachable_codeC:UsersAdministrator.WIN7_2021OVWRCZ.cargo_registry_srcmirrors.ustc.edu.cn_12df342d903acd47webpki_0.22.0_srccalendar.rs
mov edx, 0x28
push 0x4ebc3c
call fcn.004c88c0
add esp, 4
jmp 0x48e6c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x51c], 0x4eb52c
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 - 0xf4], edx
mov dword [ebp - 0x514], ecx
lea ecx, [ebp - 0x51c]
mov edx, 0x4eb534
mov dword [ebp - 0xf0], fcn.00483320
mov dword [ebp - 0x510], 1
call fcn.004c8740
jmp 0x48e6c0
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.00425d50
jmp 0x48e6c0
mov ecx, dword [ebp - 0x2c]
mov edx, ebx
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x10], 0xa
call fcn.004c8580
jmp 0x48e6c0
mov ecx, esi
push 0x4ebc2c
call fcn.004c8850
add esp, 4
jmp 0x48e6c0
mov dword [ebp - 0x10], 0x20
push 0x4e9490
call fcn.004c87e0
add esp, 4
jmp 0x48e6c0
mov ecx, esi
push 0x4ebc2c
call fcn.004c8850
add esp, 4
jmp 0x48e6c0
ud2