Function at 0x421f60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x94
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x10], ecx
mov eax, dword [0x6f1130]
test eax, eax
jne 0x421f8d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4234bf
mov dword [0x6f1130], eax
push 0x4b
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4234bf
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], 0x4b
mov dword [ecx + 8], 0
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
cmp dword [ecx + 0xd8], 0
je 0x421fcc
add ecx, 0xd8
mov esi, ecx
jmp 0x421fd9
cmp dword [ecx + 0x50], 0
lea esi, [ecx + 0x50]
lea edx, [ecx + 0x38]
cmove esi, edx
mov edi, dword [esi]
mov dword [ebp - 0x9c], esi
mov esi, dword [esi + 8]
xor ebx, ebx
cmp esi, 0x4c
jae 0x422724
add eax, ebx
push esi
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x10]
add ebx, esi
mov dword [ecx + 8], ebx
mov bl, byte [ebp + 8]
test bl, bl
je 0x422154
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x78]
push 0
push 0
push 0
push str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
call fcn.0041fb80
add esp, 0x10
mov eax, dword [ebp - 0x70]
mov esi, dword [0x6dd4e0]
mov ebx, dword [ebp - 0x78]
lea ecx, [eax*4]
mov dword [ebp - 0x30], esi
lea edx, [ecx + ecx*2]
test edx, edx
je 0x422178
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x54], 0
jmp 0x42206f
mov edx, dword [ebp - 0x14]
add ebx, 0xc
add edx, 0xfffffff4
je 0x42216c
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x6c], 0x60a7a4
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], 0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x8c]
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x94], 0x55cec0
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], esi
call fcn.0040a660
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
sub edi, esi
cmp edi, eax
mov edi, eax
jb 0x422133
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x20]
add eax, esi
push edi
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
cmp dword [ebp - 0x88], 0
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x54], ecx
je 0x422060
push dword [ebp - 0x8c]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x422060
mov edx, dword [ebp - 0x20]
mov esi, ecx
lea ecx, [ebp - 0x4c]
push edi
call fcn.005f2340
mov ecx, esi
add esp, 4
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], edx
jmp 0x4220e7
mov eax, dword [0x6dd4e0]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x30], eax
jmp 0x4221e6
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x42218a
jmp 0x4221bf
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x54], 0
test eax, eax
je 0x4221bf
shl eax, 2
add ebx, 4
lea esi, [eax + eax*2]
jmp 0x4221a8
add ebx, 0xc
add esi, 0xfffffff4
je 0x4221bf
cmp dword [ebx], 0
je 0x4221a0
push dword [ebx - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x4221a0
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x4221e0
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x4221e0
push dword [ebp - 0x78]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [ebp - 0x10]
mov bl, byte [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [edx + 0x110]
test eax, eax
je 0x4223a4
mov ecx, dword [edx + 0x108]
imul esi, eax, 0x148
mov dword [ebp - 0x24], edx
add esi, ecx
mov dword [ebp - 0x7c], esi
jmp 0x42224a
mov edx, dword [eax]
mov eax, dword [eax + 3]
mov esi, 0x73726576
mov edi, 0x6e6f6973
xor edx, esi
xor eax, edi
or eax, edx
je 0x422236
nop dword [eax + eax]
test byte [ecx + 0x2c], 0x11
je 0x422291
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x28]
mov bl, byte [ebp + 8]
mov edx, dword [ebp - 0x24]
cmp ecx, esi
je 0x4223a1
mov eax, dword [ecx + 0x7c]
lea edi, [ecx + 0x148]
test eax, eax
jne 0x422270
cmp dword [ecx + 0x78], 0x110000
jne 0x422270
cmp esi, edi
mov ecx, edi
jne 0x42224a
jmp 0x4223a1
test eax, eax
mov dword [ebp - 0x28], edi
je 0x422230
mov edx, dword [ecx + 0x80]
cmp edx, 7
je 0x422214
cmp edx, 4
jne 0x422230
cmp dword [eax], 0x706c6568
jne 0x422230
jmp 0x422236
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x134]
test edx, edx
je 0x42235a
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [ebp - 0x24]
imul edx, edx, 0x38
mov dword [ebp - 0x38], edx
mov ecx, dword [ecx + 0x12c]
add edx, ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x3c], edx
mov edx, ecx
jmp 0x4222de
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], ecx
mov edx, ecx
je 0x42235a
lea ecx, [edx + 0x38]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x18], edx
mov edx, dword [edx + 0x18]
mov dword [ebp - 0x1c], ecx
shl edx, 3
test edx, edx
je 0x4222d0
mov ebx, dword [edi]
mov ecx, dword [edi + 4]
add edx, 0xfffffff8
add edi, 8
xor ebx, eax
xor ecx, esi
or ecx, ebx
jne 0x4222f0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x50]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x18], ecx
nop dword [eax + eax]
test edx, edx
je 0x422350
mov ebx, edi
mov edi, dword [edi]
add edx, 0xffffffc8
mov ecx, dword [ebx + 4]
xor edi, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x18]
or ecx, edi
lea edi, [ebx + 0x38]
jne 0x422320
cmp byte [ebx + 0x34], 0
je 0x422320
jmp 0x422236
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x3c]
mov edx, ecx
jne 0x4222de
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
sub eax, edx
cmp eax, 9
jbe 0x422be5
mov eax, dword [ecx]
movzx ecx, word [0x60a71b]
movsd xmm0, qword [0x60a713]
mov bl, byte [ebp + 8]
mov word [eax + edx + 8], cx
movsd qword [eax + edx], xmm0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
add edx, 0xa
mov eax, dword [eax]
mov dword [ecx + 8], edx
mov edx, dword [eax]
mov dword [ebp - 0x34], eax
jmp 0x4223a4
mov ecx, dword [ebp - 0x10]
cmp dword [edx + 8], 0
mov al, 1
js 0x4223eb
cmp dword [edx + 0x10], 0
js 0x4223eb
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 8]
sub eax, esi
cmp eax, dword [ebp - 0x20]
jb 0x422afd
mov eax, dword [ecx]
mov edi, dword [ebp - 0x20]
add eax, esi
push edi
push dword [ebp - 0x30]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
add esi, edi
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x7c], eax
mov eax, dword [edx + 0x110]
test eax, eax
je 0x422488
mov edi, edx
mov edx, dword [edx + 0x108]
imul esi, eax, 0x148
lea ecx, [edx + 0x7c]
jmp 0x42241e
add ecx, 0x148
add esi, 0xfffffeb8
je 0x422440
cmp dword [ecx], 0
jne 0x422410
cmp dword [ecx - 4], 0x110000
jne 0x422410
test byte [ecx - 0x4f], 0x40
je 0x422410
mov cl, 1
mov dword [ebp - 0x38], ecx
test eax, eax
jne 0x42244f
jmp 0x422521
mov dword [ebp - 0x38], 0
test eax, eax
je 0x422521
lea ecx, [edx + 0x7c]
imul esi, eax, 0x148
jmp 0x422478
test byte [ecx - 0x4e], 0x10
jne 0x422494
add ecx, 0x148
add esi, 0xfffffeb8
je 0x422521
cmp dword [ecx], 0
jne 0x422460
cmp dword [ecx - 4], 0x110000
je 0x422466
jmp 0x422460
mov dword [ebp - 0x38], 0
jmp 0x422523
add edx, 0x7c
imul eax, eax, 0x148
jmp 0x4224ad
add edx, 0x148
add eax, 0xfffffeb8
je 0x422521
cmp dword [edx], 0
jne 0x4224a0
cmp dword [edx - 4], 0x110000
jne 0x4224a0
test byte [edx - 0x50], 1
jne 0x4224a0
mov ecx, dword [edi + 0x128]
test ecx, ecx
je 0x422979
mov eax, dword [edi + 0x120]
mov edx, edi
imul ecx, ecx, 0x158
add eax, 0x40
jmp 0x422501
add eax, 0x158
add ecx, 0xfffffea8
je 0x422979
cmp dword [eax], 4
jne 0x422513
mov edx, dword [eax - 8]
cmp dword [edx], 0x706c6568
mov edx, edi
je 0x4224f0
test byte [eax - 0x37], 8
jne 0x4224f0
test byte [eax - 0x2f], 8
jne 0x4224f0
jmp 0x422523
mov edx, edi
mov eax, dword [edx + 0x110]
mov dword [ebp - 0x24], edx
test eax, eax
je 0x422f88
mov ecx, dword [ebp - 0x24]
imul eax, eax, 0x148
mov edx, dword [ecx + 0x108]
lea ecx, [edx + eax]
mov dword [ebp - 0x18], ecx
lea ecx, [edx + 0x7c]
jmp 0x422561
add ecx, 0x148
add eax, 0xfffffeb8
je 0x422f88
cmp dword [ecx], 0
jne 0x422550
cmp dword [ecx - 4], 0x110000
jne 0x422550
mov esi, dword [ecx - 0x50]
mov edi, esi
and edi, 0x4001
cmp edi, 1
je 0x422550
and esi, 0x10
jne 0x422550
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
xor edi, edi
cmp edx, esi
jne 0x4225da
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
test byte [esi + 0xb], 0x10
jne 0x422712
test byte [esi + 0x13], 0x10
jne 0x42273e
cmp edi, 1
jle 0x42273e
mov dword [ebp - 0x4c], 0
mov edi, dword [ebp - 0x4c]
test edi, edi
jne 0x422d24
jmp 0x422946
add edx, 0x148
cmp edx, esi
je 0x422590
cmp dword [edx + 0x7c], 0
jne 0x4225d0
cmp dword [edx + 0x78], 0x110000
jne 0x4225d0
movzx eax, word [edx + 0x2c]
test eax, 0x4011
jne 0x4225d0
mov esi, dword [ebp - 0x24]
mov eax, dword [esi + 0x134]
test eax, eax
je 0x4226e7
mov ecx, dword [edx]
mov dword [ebp - 0x90], edi
mov edi, dword [edx + 4]
imul eax, eax, 0x38
mov dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x12c]
add eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x422634
mov bl, byte [ebp + 8]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x50], eax
mov ecx, eax
je 0x4226ec
lea eax, [ecx + 0x38]
mov esi, dword [ecx + 0x10]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x18]
shl eax, 3
nop word cs:[eax + eax]
test eax, eax
je 0x422626
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
add eax, 0xfffffff8
add esi, 8
xor ecx, dword [ebp - 0x14]
xor ebx, edi
or ebx, ecx
movzx ebx, byte [ebp + 8]
jne 0x422650
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0x134]
test esi, esi
je 0x422626
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
imul ecx, esi, 0x38
mov eax, dword [eax + 0x12c]
jmp 0x4226ac
add eax, 0x38
add ecx, 0xffffffc8
je 0x422623
cmp byte [eax + 0x34], 0
je 0x4226a0
mov esi, dword [eax]
mov ebx, dword [eax + 4]
xor esi, dword [ebp - 0x1c]
xor ebx, dword [ebp - 0x28]
or ebx, esi
mov esi, dword [ebp - 0x18]
jne 0x4226a0
mov ecx, dword [ebp - 0x10]
mov bl, byte [ebp + 8]
mov edi, dword [ebp - 0x90]
xor eax, eax
add edx, 0x148
add edi, eax
cmp edx, esi
jne 0x4225da
jmp 0x422590
mov esi, dword [ebp - 0x18]
jmp 0x4226f8
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x90]
mov eax, 1
add edx, 0x148
add edi, eax
cmp edx, esi
jne 0x4225da
jmp 0x422590
cmp edi, 1
jne 0x4229e6
test bl, bl
jne 0x42274f
jmp 0x4229e6
mov ebx, dword [ebp - 0x10]
xor edx, edx
mov ecx, ebx
push esi
call fcn.005f2340
add esp, 4
mov eax, dword [ebx]
mov ebx, dword [ebx + 8]
jmp 0x421fef
cmp edi, 1
jne 0x4229be
test bl, bl
je 0x4229be
mov eax, dword [esi + 0x110]
mov dword [ebp - 0x28], esi
test eax, eax
je 0x4234a6
mov ecx, dword [ebp - 0x28]
imul eax, eax, 0x148
mov ecx, dword [ecx + 0x108]
add eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x422792
mov ecx, dword [ebp - 0x1c]
add ecx, 0x148
cmp dword [ebp - 0x50], ecx
je 0x4234a6
cmp dword [ecx + 0x7c], 0
mov dword [ebp - 0x1c], ecx
jne 0x422780
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x78], 0x110000
jne 0x422780
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x2c]
test eax, 0x4011
jne 0x422780
mov eax, dword [ebp - 0x28]
mov esi, dword [eax + 0x134]
test esi, esi
je 0x422872
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax + 0x12c]
imul eax, esi, 0x38
mov esi, edi
add eax, edi
mov dword [ebp - 0x3c], eax
jmp 0x4227fa
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], eax
mov esi, eax
je 0x422872
lea eax, [esi + 0x38]
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x18], esi
mov esi, dword [esi + 0x18]
mov dword [ebp - 0x24], eax
shl esi, 3
nop dword [eax]
test esi, esi
je 0x4227f0
mov ebx, dword [edi]
mov eax, dword [edi + 4]
add esi, 0xfffffff8
add edi, 8
xor ebx, ecx
xor eax, edx
or eax, ebx
jne 0x422810
mov eax, dword [ebp - 0x28]
mov edi, dword [eax + 0x134]
test edi, edi
je 0x4227f0
mov eax, dword [ebp - 0x18]
imul edi, edi, 0x38
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov esi, dword [esi + 0x12c]
jmp 0x422858
add esi, 0x38
add edi, 0xffffffc8
je 0x4227f0
cmp byte [esi + 0x34], 0
je 0x422850
mov ebx, dword [esi]
mov eax, dword [esi + 4]
xor ebx, dword [ebp - 0x14]
xor eax, dword [ebp - 0x18]
or eax, ebx
jne 0x422850
jmp 0x422780
mov edi, dword [ebp - 0x1c]
lea esi, [ebp - 0x8c]
mov ecx, esi
mov edx, edi
call fcn.0042d320
test dword [edi + 0x2c], 0x100002
mov edx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
setne al
cmp dword [edi + 0xb8], 2
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x6c], 0x60a7bc
mov dword [ebp - 0x68], 2
mov dword [ebp - 0x48], 0x446c50
mov dword [ebp - 0x64], 0
setb cl
and cl, al
movzx eax, cl
mov ecx, str....__f64f32usizeu128u16isizei128i64i32i16i8strcharbool
cmovne edx, ecx
lea ecx, [ebp - 0x4c]
lea eax, [eax + eax*2]
mov dword [ebp - 0x98], edx
lea edx, [ebp - 0x98]
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x58], 2
mov dword [ebp - 0x44], edx
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x40], 0x5c1350
call fcn.0040a660
cmp dword [ebp - 0x8c], 0
je 0x422925
cmp dword [ebp - 0x84], 0
je 0x422925
push dword [ebp - 0x88]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm0, qword [ebp - 0x78]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x10]
mov bl, byte [ebp + 8]
movsd qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x44], eax
mov edi, dword [ebp - 0x4c]
test edi, edi
jne 0x422d24
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
sub eax, edx
cmp eax, 6
jbe 0x42344d
mov eax, dword [ecx]
mov esi, ecx
mov ecx, dword [0x60a725]
mov edi, dword [0x60a722]
mov dword [eax + edx + 3], ecx
mov dword [eax + edx], edi
add edx, 7
mov dword [esi + 8], edx
jmp 0x422d6b
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
test byte [edx + 9], 0x40
jne 0x422523
test byte [edx + 0x11], 0x40
mov ecx, dword [ebp - 0x38]
sete al
xor cl, 1
test al, cl
je 0x422523
mov ecx, dword [ebp - 0x10]
mov edx, 0x60a71d
push 5
call fcn.00506f30
add esp, 4
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0x34], eax
jmp 0x422523
test byte [esi + 0x13], 0x10
jne 0x4229e6
test bl, bl
je 0x422a83
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
jmp 0x422d16
mov ecx, dword [esi + 0x11c]
mov eax, dword [esi + 0x114]
shl ecx, 2
lea ecx, [ecx + ecx*4]
nop dword [eax + eax]
test ecx, ecx
je 0x4229c4
add ecx, 0xffffffec
cmp dword [eax], 2
lea eax, [eax + 0x14]
jne 0x422a00
test bl, bl
je 0x422a83
mov edx, dword [esi + 0x108]
imul eax, dword [esi + 0x110], 0x148
lea ecx, [ebp - 0x6c]
add eax, edx
push eax
call fcn.00428280
add esp, 4
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x64]
lea ecx, [ebp - 0x4c]
mov edx, esi
push 0
push str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
push edi
call fcn.00419920
add esp, 0xc
test edi, edi
je 0x422bc4
shl edi, 2
add esi, 4
lea edi, [edi + edi*2]
jmp 0x422a6c
add esi, 0xc
add edi, 0xfffffff4
je 0x422bc4
cmp dword [esi], 0
je 0x422a60
push dword [esi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x422a60
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x108]
mov dword [ebp - 0x28], eax
imul ebx, eax, 0x148
lea edi, [ecx + 0x134]
mov eax, 0x4001
jmp 0x422abf
mov edx, dword [edi - 4]
mov esi, dword [edi]
mov dword [ebp - 0x14], edx
add ebx, 0xfffffeb8
add edi, 0x148
cmp dword [ebp - 0x14], 2
jne 0x422b18
test ebx, ebx
je 0x422c03
cmp dword [edi - 0xb8], 0
mov dword [ebp - 0x14], 2
jne 0x422afb
cmp dword [edi - 0xbc], 0x110000
jne 0x422aad
mov edx, dword [edi - 0x108]
and edx, eax
cmp edx, 1
je 0x422aa5
mov dword [ebp - 0x14], 2
xor esi, esi
jmp 0x422aad
jmp 0x422aad
mov ecx, dword [ebp - 0x10]
mov edx, esi
push dword [ebp - 0x20]
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, dword [ecx + 8]
jmp 0x4223c3
test ebx, ebx
jne 0x422b42
jmp 0x422c56
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
nop word [eax + eax]
add edi, 0x148
add ebx, 0xfffffeb8
je 0x422bfd
cmp dword [edi - 0xb8], 0
jne 0x422b30
cmp dword [edi - 0xbc], 0x110000
jne 0x422b30
mov eax, dword [edi - 0x108]
mov edx, 0x4001
and eax, edx
cmp eax, 1
jne 0x422b30
mov eax, dword [edi - 4]
mov edx, dword [edi]
cmp dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], eax
jne 0x422ba1
cmp dword [ebp - 0x14], 1
jne 0x422bb5
xor eax, eax
cmp esi, dword [ebp - 0x18]
setne al
mov dword [ebp - 0x24], eax
mov eax, 0xff
mov edx, dword [ebp - 0x24]
cmovb edx, eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp al, 1
je 0x422b30
jmp 0x422b21
setge al
add al, al
dec al
cmp al, 1
jne 0x422b21
jmp 0x422b30
xor eax, eax
cmp al, 1
je 0x422b30
jmp 0x422b21
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x422d16
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x422d16
push dword [ebp - 0x6c]
jmp 0x422d09
mov ecx, dword [ebp - 0x10]
push 0xa
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ecx + 8]
jmp 0x42236e
cmp dword [ebp - 0x14], 2
jne 0x422c56
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 1
test eax, eax
je 0x422c54
add ecx, 0x7c
imul eax, eax, 0x148
xor esi, esi
mov edi, 0x110000
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ebx, dword [ecx - 4]
xor edx, edx
xor ebx, edi
or ebx, dword [ecx]
sete dl
add ecx, 0x148
add esi, edx
add eax, 0xfffffeb8
jne 0x422c30
mov dword [ebp - 0x14], 1
jmp 0x422c56
xor esi, esi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x74], esi
mov eax, dword [eax]
mov ecx, dword [eax + 0x108]
imul eax, dword [eax + 0x110], 0x148
add eax, ecx
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x8c]
call fcn.0042aa80
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x84]
lea ecx, [ebp - 0x4c]
mov edx, esi
push 0
push str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
push edi
call fcn.00419920
add esp, 0xc
mov bl, byte [ebp + 8]
test edi, edi
je 0x422cef
shl edi, 2
add esi, 4
lea edi, [edi + edi*2]
jmp 0x422cd8
add esi, 0xc
add edi, 0xfffffff4
je 0x422cef
cmp dword [esi], 0
je 0x422cd0
push dword [esi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x422cd0
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x422d16
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x422d16
push dword [ebp - 0x8c]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x422946
mov edx, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
sub edx, esi
mov dword [ebp - 0x14], eax
cmp edx, ebx
jb 0x423391
mov eax, dword [ecx]
add eax, esi
push ebx
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, ebx
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], 0
mov bl, byte [ebp + 8]
mov dword [eax + 8], esi
je 0x422d6b
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp - 0x38]
and al, bl
cmp al, 1
jne 0x422f88
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x110]
test ecx, ecx
je 0x423495
mov eax, dword [eax + 0x108]
imul edx, ecx, 0x148
mov edi, eax
jmp 0x422db2
add edi, 0x148
add edx, 0xfffffeb8
je 0x423495
cmp dword [edi + 0x7c], 0
jne 0x422da0
cmp dword [edi + 0x78], 0x110000
jne 0x422da0
mov ebx, dword [edi + 0x2c]
test ebx, 0x4000
je 0x422da0
test bl, 1
jne 0x422e01
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
sub eax, edx
cmp eax, 5
jbe 0x423465
mov eax, dword [esi]
movzx ecx, word [0x60a7a0]
mov word [eax + edx + 4], cx
mov ecx, dword [0x60a79c]
mov dword [eax + edx], ecx
add edx, 6
jmp 0x422e73
add eax, 0x7c
imul ecx, ecx, 0x148
jmp 0x422e1d
add eax, 0x148
add ecx, 0xfffffeb8
je 0x422e47
cmp dword [eax], 0
jne 0x422e10
cmp dword [eax - 4], 0x110000
jne 0x422e10
test byte [eax - 0x50], 1
jne 0x422e10
mov esi, dword [ebp - 0x10]
mov edx, str.____________________8
mov ecx, esi
push 5
call fcn.00506f30
add esp, 4
jmp 0x422e76
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
sub eax, edx
cmp eax, 6
jbe 0x42347d
mov eax, dword [esi]
mov ecx, dword [0x60a798]
mov dword [eax + edx + 3], ecx
mov ecx, dword [0x60a795]
mov dword [eax + edx], ecx
add edx, 7
mov dword [esi + 8], edx
lea ecx, [ebp - 0x6c]
mov edx, edi
call fcn.0042d320
mov ecx, dword [ebp - 0x6c]
xor eax, eax
cmp ecx, 1
mov dword [ebp - 0x18], ecx
mov ecx, esi
sete al
mov edx, dword [ebp + eax*4 - 0x64]
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
sub eax, esi
mov dword [ebp - 0x14], edx
cmp eax, edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x1c], edx
jb 0x4233aa
mov eax, ecx
mov eax, dword [eax]
add eax, esi
push dword [ebp - 0x14]
push edx
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x10]
add esp, 0xc
add esi, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 0
mov dword [ecx + 8], esi
je 0x422eeb
cmp dword [ebp - 0x64], 0
je 0x422eeb
push dword [ebp - 0x1c]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 8]
cmp esi, dword [ecx + 4]
jne 0x422f00
mov ecx, dword [ebp - 0x10]
mov edx, esi
call fcn.005bab80
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 8]
mov eax, dword [ecx]
mov byte [eax + esi], 0x3e
mov esi, dword [ecx + 8]
mov eax, dword [ecx + 4]
inc esi
mov dword [ecx + 8], esi
test dword [edi + 0x2c], 0x100002
setne cl
cmp dword [edi + 0xb8], 2
mov edi, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
setb dl
and dl, cl
mov ecx, str....__f64f32usizeu128u16isizei128i64i32i16i8strcharbool
cmovne edi, ecx
movzx ecx, dl
sub eax, esi
lea edx, [ecx + ecx*2]
cmp eax, edx
jb 0x4233c8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
add eax, esi
push edx
push edi
push eax
mov edi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
test bl, 1
mov eax, dword [ebp - 0x10]
mov bl, byte [ebp + 8]
mov dword [eax + 8], esi
jne 0x422f88
mov ecx, dword [ebp - 0x10]
cmp esi, dword [ecx + 4]
jne 0x422f7f
mov ecx, dword [ebp - 0x10]
mov edx, esi
call fcn.005bab80
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 8]
mov eax, dword [ecx]
mov byte [eax + esi], 0x5d
inc dword [ecx + 8]
cmp byte [ebp - 0x7c], 0
je 0x422fbe
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 8]
sub eax, esi
cmp eax, dword [ebp - 0x20]
jb 0x42333e
mov eax, dword [ecx]
mov edi, dword [ebp - 0x20]
add eax, esi
push edi
push dword [ebp - 0x30]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
add esi, edi
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov eax, dword [eax]
mov edx, dword [eax + 0x128]
test edx, edx
je 0x423013
mov ecx, dword [eax + 0x120]
imul edx, edx, 0x158
add ecx, 0x40
jmp 0x422fee
add ecx, 0x158
add edx, 0xfffffea8
je 0x423013
cmp dword [ecx], 4
jne 0x422ffe
mov esi, dword [ecx - 8]
cmp dword [esi], 0x706c6568
je 0x422fe0
test byte [ecx - 0x37], 8
jne 0x422fe0
test byte [ecx - 0x2f], 8
jne 0x422fe0
test bl, bl
je 0x423013
mov ecx, dword [eax + 8]
jmp 0x423038
mov ecx, dword [eax + 8]
test ecx, 0x4000
jne 0x423038
test byte [eax + 0x11], 0x40
jne 0x423038
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 8]
cmp dword [ecx + 4], esi
ja 0x42324a
jmp 0x423280
mov edx, dword [eax + 0x140]
mov edi, 0xa
mov esi, 0x60abb2
test edx, edx
cmovne edi, dword [eax + 0x144]
cmovne esi, edx
test cl, 1
mov dword [ebp - 0x14], esi
jne 0x423102
mov eax, dword [eax + 0x10]
test al, 1
jne 0x423102
mov edx, ecx
and edx, 0x20000000
jne 0x423102
mov edx, eax
and edx, 0x20000000
jne 0x423102
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
sub edx, ebx
test cl, 2
jne 0x4232a1
mov esi, eax
and esi, 2
jne 0x4232a1
test cl, cl
js 0x4232a1
test al, al
js 0x4232a1
cmp edx, 1
jbe 0x4233e9
mov esi, dword [ebp - 0x10]
mov eax, dword [esi]
mov word [eax + ebx], 0x5b20
add ebx, 2
mov dword [esi + 8], ebx
mov eax, dword [esi + 4]
sub eax, ebx
cmp eax, edi
jb 0x423402
mov eax, dword [esi]
add eax, ebx
push edi
push dword [ebp - 0x14]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x10]
add esp, 0xc
add ebx, edi
mov dl, 0x5d
mov dword [ecx + 8], ebx
cmp ebx, dword [ecx + 4]
je 0x423223
jmp 0x423239
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 8]
sub eax, ebx
cmp eax, 4
jbe 0x4232f1
mov eax, dword [ecx]
mov cl, byte [0x60b284]
mov dword [ebp - 0x18], edi
mov byte [eax + ebx + 4], cl
mov ecx, dword [0x60b280]
mov dword [eax + ebx], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
add ebx, 5
mov eax, dword [eax]
mov dword [ecx + 8], ebx
mov eax, dword [eax]
test byte [eax + 0xb], 0x20
jne 0x4231a8
test byte [eax + 0x13], 0x20
jne 0x4231a8
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x6c]
push 0
call fcn.00421f60
mov ecx, dword [ebp - 0x10]
add esp, 4
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov edi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x6c]
sub eax, ebx
cmp eax, edi
jb 0x423372
mov eax, dword [ecx]
add eax, ebx
push edi
push edx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x10]
add esp, 0xc
add ebx, edi
cmp dword [ebp - 0x68], 0
mov dword [ecx + 8], ebx
je 0x4231d7
push esi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ecx + 8]
jmp 0x4231d7
mov eax, dword [ebp - 0x9c]
mov edx, dword [ecx + 4]
mov edi, dword [eax + 8]
mov esi, dword [eax]
sub edx, ebx
cmp edx, edi
jb 0x423359
mov eax, dword [ecx]
add eax, ebx
push edi
push esi
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x10]
add esp, 0xc
add ebx, edi
mov dword [ecx + 8], ebx
mov eax, dword [ecx + 4]
mov esi, dword [ebp - 0x18]
sub eax, ebx
cmp eax, 1
jbe 0x42330b
mov eax, dword [ecx]
mov word [eax + ebx], 0x3c20
add ebx, 2
mov dword [ecx + 8], ebx
mov eax, dword [ecx + 4]
sub eax, ebx
cmp eax, esi
jb 0x423325
mov eax, dword [ecx]
add eax, ebx
push esi
push dword [ebp - 0x14]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x10]
add esp, 0xc
add ebx, esi
mov dl, 0x3e
mov dword [ecx + 8], ebx
cmp ebx, dword [ecx + 4]
jne 0x423239
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 0x14], dl
mov edx, ebx
call fcn.005bab80
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x14]
mov ebx, dword [ecx + 8]
mov eax, dword [ecx]
mov byte [eax + ebx], dl
mov esi, dword [ecx + 8]
inc esi
mov dword [ecx + 8], esi
cmp dword [ecx + 4], esi
jbe 0x423280
mov ecx, dword [ecx]
mov eax, dword [0x6f1130]
test esi, esi
je 0x42326a
push esi
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
test eax, eax
jne 0x423278
mov ecx, esi
jmp 0x4234c4
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], esi
cmp dword [ebp - 0x54], 0
je 0x423296
push dword [ebp - 0x30]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
cmp edx, 1
jbe 0x42341b
mov esi, dword [ebp - 0x10]
mov eax, dword [esi]
mov word [eax + ebx], 0x3c20
add ebx, 2
mov dword [esi + 8], ebx
mov eax, dword [esi + 4]
sub eax, ebx
cmp eax, edi
jb 0x423434
mov eax, dword [esi]
add eax, ebx
push edi
push dword [ebp - 0x14]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x10]
add esp, 0xc
add ebx, edi
mov dl, 0x3e
mov dword [ecx + 8], ebx
cmp ebx, dword [ecx + 4]
jne 0x423239
jmp 0x423223
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push 5
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov ebx, dword [ecx + 8]
jmp 0x423116
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push 2
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov ebx, dword [ecx + 8]
jmp 0x4231e8
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push esi
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov ebx, dword [ecx + 8]
jmp 0x423203
mov ecx, dword [ebp - 0x10]
mov edx, esi
push dword [ebp - 0x20]
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, dword [ecx + 8]
jmp 0x422fa2
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push edi
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov ebx, dword [ecx + 8]
jmp 0x4231c0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x20], edx
mov edx, ebx
push edi
call fcn.005f2340
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
add esp, 4
mov ebx, dword [ecx + 8]
jmp 0x423173
mov ecx, dword [ebp - 0x10]
mov edx, esi
push ebx
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, dword [ecx + 8]
jmp 0x422d3d
mov ecx, dword [ebp - 0x10]
mov edx, esi
push dword [ebp - 0x14]
call fcn.005f2340
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
add esp, 4
mov esi, dword [eax + 8]
jmp 0x422eaf
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
mov edx, esi
push dword [ebp - 0x14]
call fcn.005f2340
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
add esp, 4
mov esi, dword [eax + 8]
jmp 0x422f46
mov esi, dword [ebp - 0x10]
mov edx, ebx
mov ecx, esi
push 2
call fcn.005f2340
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x4230be
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push edi
call fcn.005f2340
mov esi, dword [ebp - 0x10]
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x4230d9
mov esi, dword [ebp - 0x10]
mov edx, ebx
mov ecx, esi
push 2
call fcn.005f2340
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x4232ad
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push edi
call fcn.005f2340
mov esi, dword [ebp - 0x10]
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x4232c8
mov ecx, dword [ebp - 0x10]
push 7
call fcn.005f2340
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ecx + 8]
jmp 0x422957
mov ecx, dword [ebp - 0x10]
push 6
call fcn.005f2340
mov esi, dword [ebp - 0x10]
add esp, 4
mov edx, dword [esi + 8]
jmp 0x422de5
mov ecx, dword [ebp - 0x10]
push 7
call fcn.005f2340
mov esi, dword [ebp - 0x10]
add esp, 4
mov edx, dword [esi + 8]
jmp 0x422e5b
mov ecx, 0x60b804
mov edx, 0x63
push 0x60a780
jmp 0x4234b5
mov ecx, 0x60b804
mov edx, 0x63
push 0x60a7ac
call fcn.0045d290
add esp, 4
ud2
mov ecx, 0x4b
mov edx, 1
call fcn.0040a640
ud2