Function at 0x573470
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9b0
mov edi, dword [edx + 8]
mov ebx, dword [ebp + 8]
mov esi, ecx
test edi, edi
je 0x573493
mov eax, dword [ebx + 0x14]
cmp eax, 0x19
jbe 0x5734c6
mov dword [esi], 0
cmp dword [ebx + 4], 0
je 0x5734ae
push dword [ebx]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [ebx + 0x10], 0
je 0x5734f5
push dword [ebx + 0xc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x5734f5
cmp byte [ebx + 0x18], 0
je 0x5734fd
mov eax, dword [ebx + 0x18]
movsd xmm0, qword [ebx + 0x10]
movsd xmm2, qword [ebx]
movsd xmm1, qword [ebx + 8]
mov dword [esi + 0x1c], eax
movsd qword [esi + 0x14], xmm0
movsd qword [esi + 0xc], xmm1
movsd qword [esi + 4], xmm2
mov dword [esi], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [edx]
cmp edi, 1
jne 0x573521
mov edx, dword [ecx]
mov eax, ecx
lea ecx, [esi + 8]
push dword [eax + 8]
call fcn.00573140
add esp, 4
mov dword [esi], 2
jmp 0x573499
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], eax
mov ecx, 0x10
mov eax, edi
mov dword [esp + 0x2c], edx
mul ecx
jo 0x574290
mov ebx, eax
test eax, eax
js 0x574290
mov dword [esp + 0x28], esi
mov eax, dword [0x6f1130]
test eax, eax
jne 0x573565
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5742d4
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5742d4
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
lea edi, [eax + 0xd]
mov eax, dword [esp + 0xc]
mov ecx, ebx
shr ecx, 4
mov dword [esp + 0x34], ecx
jmp 0x5735f7
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
je 0x574297
push ebx
push dword [esp + 0x34]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
cmp byte [eax + 0xc], 0
mov dword [edi - 0xd], esi
mov dword [edi - 9], ebx
mov dword [edi - 5], ebx
mov ebx, dword [esp + 0x10]
setne byte [edi - 1]
add ebx, 0xfffffff0
movzx eax, byte [esp + 0x502]
mov byte [edi + 2], al
movzx eax, word [esp + 0x500]
mov word [edi], ax
mov eax, dword [esp + 0x14]
add edi, 0x10
test ecx, ecx
je 0x57365a
test ebx, ebx
je 0x57365a
mov dword [esp + 0x10], ebx
mov ebx, dword [eax + 8]
dec ecx
lea edx, [eax + 0x10]
test ebx, ebx
js 0x574290
mov esi, dword [eax]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], esi
je 0x573650
mov eax, dword [0x6f1130]
test eax, eax
jne 0x573595
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
jne 0x573590
jmp 0x574297
mov esi, 1
jmp 0x5735a8
cmp dword [esp + 0x24], 2
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
setae al
cmp byte [ecx + 0x19], 0
sete cl
cmp dword [edx + 8], 0x64
ja 0x57382d
or al, cl
je 0x57382d
mov eax, dword [0x6d6b64]
mov ecx, dword [0x6dd42c]
mov edx, dword [esp + 0x20]
mov byte [esp + 0x72], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x1c]
shl edx, 4
xor eax, eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0xffffffff
mov word [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 0x2020200
mov byte [esp + 0x78], 0
add edx, ecx
mov dword [esp + 0xc], edx
lea ebx, [ecx + 0x10]
test al, al
jne 0x5737ef
jmp 0x573722
movzx eax, byte [esp + 0x78]
mov ecx, ebx
lea ebx, [ecx + 0x10]
test al, al
jne 0x5737ef
mov eax, dword [esp + 0x58]
cmp eax, 0x80
jb 0x57376f
mov byte [esp + 0x78], 1
mov byte [esp + 0x72], 0
shl eax, 2
mov esi, dword [esp + 0x50]
lea edi, [eax + eax*2]
mov dword [esp + 0x58], 0
add esi, 4
jmp 0x573758
add esi, 0xc
add edi, 0xfffffff4
je 0x5737d0
cmp dword [esi], 0
je 0x573750
push dword [esi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x573750
mov esi, dword [ecx + 8]
test esi, esi
je 0x573787
mov edx, dword [ecx]
lea ecx, [esp + 0x50]
push esi
call fcn.0040a3a0
add esp, 4
jmp 0x5737eb
mov byte [esp + 0x78], 1
mov byte [esp + 0x72], 0
test eax, eax
mov esi, dword [esp + 0x50]
mov dword [esp + 0x58], 0
je 0x5737d0
shl eax, 2
add esi, 4
lea edi, [eax + eax*2]
jmp 0x5737b8
add esi, 0xc
add edi, 0xfffffff4
je 0x5737d0
cmp dword [esi], 0
je 0x5737b0
push dword [esi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x5737b0
mov edi, dword [esp + 0x28]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0xffffffff
mov word [esp + 0x70], 0
mov edx, dword [esp + 0xc]
cmp ebx, edx
jne 0x573710
lea ecx, [esp + 0x500]
lea edx, [esp + 0x50]
call fcn.00408830
cmp byte [esp + 0x544], 2
mov ebx, dword [ebp + 8]
jne 0x573cd9
lea ecx, [esp + 0x50]
call fcn.00574410
lea ecx, [esp + 0x500]
call fcn.00574490
lea ecx, [esp + 0x500]
lea edx, [esp + 0x38]
mov dword [esp + 0x3c], 0x101
mov dword [esp + 0x38], 2
mov word [esp + 0x40], 0x101
mov byte [esp + 0x42], 1
call fcn.0056f060
mov esi, dword [esp + 0x504]
cmp dword [esp + 0x500], 1
mov edi, dword [esp + 0x508]
mov ebx, dword [esp + 0x50c]
je 0x5742e2
lea ecx, [esp + 0x510]
lea eax, [esp + 0x5c]
push 0x37c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ebx
lea ecx, [esp + 0x500]
lea edx, [esp + 0x50]
push 0
call fcn.0056f3a0
add esp, 4
cmp dword [esp + 0x500], 1
mov esi, dword [esp + 0x20]
je 0x5742a5
lea ecx, [esp + 0x500]
lea edx, [esp + 0x50]
push 0
call fcn.0056f3a0
add esp, 4
cmp dword [esp + 0x500], 1
je 0x5742a5
lea ecx, [esp + 0x500]
lea edx, [esp + 0x50]
push 0
call fcn.0056f3a0
add esp, 4
cmp dword [esp + 0x500], 1
je 0x5742a5
mov eax, esi
shl eax, 4
je 0x573c66
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], 0
mov edx, ecx
add edx, eax
mov dword [esp + 0x44], edx
jmp 0x573945
mov ecx, dword [esp + 0x2c]
inc dword [esp + 0x24]
add ecx, 0x10
cmp ecx, dword [esp + 0x44]
je 0x573c66
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x2a8]
mov edi, dword [ecx]
mov esi, dword [esp + 0x2a4]
mov dword [esp + 0x2c], ecx
cmp eax, edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edx
cmovbe eax, edx
mov dword [esp + 0x2a8], eax
inc dword [esp + 0x2ac]
test edx, edx
je 0x573bf0
lea eax, [edi + edx]
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], eax
xor eax, eax
jmp 0x5739b1
mov ecx, dword [esp + 0x14]
nop word cs:[eax + eax]
inc edi
mov eax, dword [esp + 0xc]
mov esi, ecx
cmp edi, dword [esp + 0x30]
je 0x573bf2
movzx ebx, byte [edi]
test al, 1
mov cl, 1
jne 0x5739db
mov edx, dword [esp + 0x2c4]
cmp edx, esi
jbe 0x57424b
mov eax, dword [esp + 0x2bc]
lea ecx, [esi + esi*8]
cmp dword [eax + ecx*4 + 0x1c], 0
setne cl
mov eax, dword [esp + 0x50]
cmp byte [eax + 4], 1
jne 0x5739ed
test cl, cl
jne 0x573930
test ebx, ebx
mov dword [esp + 0xc], ecx
je 0x573a12
mov edx, dword [esp + 0x3d4]
lea ecx, [ebx - 1]
cmp edx, ecx
jbe 0x574254
mov eax, dword [esp + 0x3cc]
mov byte [eax + ecx], 1
mov edx, dword [esp + 0x3d4]
cmp edx, ebx
jbe 0x574264
mov eax, dword [esp + 0x3cc]
mov byte [eax + ebx], 1
mov eax, dword [esp + 0x50]
cmp byte [eax + 7], 0
je 0x573aa4
mov eax, ebx
add al, 0xbf
cmp al, 0x19
ja 0x573a50
mov eax, ebx
or al, 0x20
jmp 0x573a69
mov eax, ebx
mov ecx, ebx
add al, 0x9f
and cl, 0xdf
cmp al, 0x1a
movzx eax, cl
cmovae eax, ebx
test al, al
je 0x573bd7
mov edx, dword [esp + 0x3d4]
movzx ecx, al
dec ecx
cmp edx, ecx
jbe 0x574254
mov edx, dword [esp + 0x3cc]
mov byte [edx + ecx], 1
mov edx, dword [esp + 0x3d4]
movzx ecx, al
cmp edx, ecx
jbe 0x574266
mov eax, dword [esp + 0x3cc]
mov byte [eax + ecx], 1
mov edx, dword [esp + 0x2c4]
cmp edx, esi
jbe 0x57424b
mov edx, dword [esp + 0x2bc]
mov dword [esp + 0x10], esi
lea esi, [esi + esi*8]
inc dword [esp + 0x18]
cmp dword [edx + esi*4], 1
lea eax, [edx + esi*4 + 4]
jne 0x573af0
mov edx, dword [edx + esi*4 + 0xc]
cmp edx, ebx
jbe 0x574278
lea edx, [ebx*4]
add edx, dword [eax]
jmp 0x573b11
mov ecx, dword [eax]
mov eax, dword [edx + esi*4 + 0xc]
add ecx, 0xfffffffc
shl eax, 3
nop dword [eax]
test eax, eax
je 0x573b1b
add eax, 0xfffffff8
cmp byte [ecx + 4], bl
lea edx, [ecx + 8]
mov ecx, edx
jne 0x573b00
mov ecx, dword [edx]
test ecx, ecx
jne 0x5739a0
lea ecx, [esp + 0x500]
lea edx, [esp + 0x50]
push dword [esp + 0x18]
call fcn.0056f3a0
add esp, 4
mov eax, dword [esp + 0x504]
cmp dword [esp + 0x500], 1
mov dword [esp + 0x14], eax
je 0x573c5d
mov edx, dword [esp + 0x2c4]
cmp edx, dword [esp + 0x10]
jbe 0x57426d
lea ecx, [esi*4]
mov edx, ebx
add ecx, dword [esp + 0x2bc]
push eax
call fcn.0056f510
add esp, 4
mov eax, dword [esp + 0x50]
cmp byte [eax + 7], 0
je 0x573992
mov edx, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
jbe 0x574271
mov eax, ebx
add al, 0xbf
cmp al, 0x1a
jae 0x573ba5
or bl, 0x20
mov eax, ebx
jmp 0x573bb6
mov eax, ebx
mov ecx, ebx
add al, 0x9f
and cl, 0xdf
cmp al, 0x1a
movzx eax, cl
cmovae eax, ebx
mov ecx, dword [esp + 0x2bc]
movzx edx, al
lea ecx, [ecx + esi*4]
mov esi, dword [esp + 0x14]
push esi
call fcn.0056f510
mov ecx, esi
add esp, 4
jmp 0x5739a0
xor eax, eax
mov edx, dword [esp + 0x3d4]
movzx ecx, al
cmp edx, ecx
ja 0x573a99
jmp 0x574266
mov ecx, esi
mov edx, dword [esp + 0x2c4]
cmp edx, ecx
jbe 0x574271
mov eax, dword [esp + 0x2bc]
lea ecx, [ecx + ecx*8]
mov edi, dword [esp + 0x4c]
mov edx, dword [eax + ecx*4 + 0x1c]
lea esi, [eax + ecx*4 + 0x14]
cmp edx, dword [eax + ecx*4 + 0x18]
jne 0x573c27
mov ecx, esi
call fcn.00415b20
mov edx, dword [esi + 8]
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
inc dword [esi + 8]
mov eax, dword [esp + 0x50]
cmp byte [eax + 5], 0
je 0x573930
mov edx, dword [esp + 0x48]
mov ebx, edi
lea ecx, [esp + 0x54]
push edi
call fcn.004077f0
add esp, 4
jmp 0x573930
cmp eax, 2
jne 0x5742b0
lea ecx, [esp + 0x50]
call fcn.0056f610
mov edx, dword [esp + 0x2c4]
cmp edx, 1
jbe 0x574289
mov esi, dword [esp + 0x2bc]
xor edx, edx
add esi, 0x24
movzx eax, dx
cmp eax, 0x100
je 0x573cbb
nop word cs:[eax + eax]
nop
lea edi, [edx + 1]
mov ecx, esi
push 1
call fcn.0056f510
add esp, 4
mov edx, edi
movzx eax, dx
cmp eax, 0x100
jne 0x573ca0
mov eax, dword [esp + 0x50]
cmp byte [eax + 6], 0
jne 0x573d1a
mov al, byte [eax + 4]
lea ecx, [esp + 0x50]
dec al
cmp al, 2
jae 0x573d15
call fcn.0056fff0
jmp 0x573d1a
mov eax, edi
add edi, 4
lea esi, [esp + 0x500]
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x54], ecx
lea ecx, [esp + 0x50]
mov dword [eax], 4
call fcn.00574410
jmp 0x573499
call fcn.0056f9e0
lea ecx, [esp + 0x50]
call fcn.0056f8b0
mov ecx, dword [esp + 0x3d4]
mov edx, dword [esp + 0x3cc]
xorps xmm0, xmm0
mov edi, 0xffffff01
xor ebx, ebx
movaps xmmword [esp + 0x5f0], xmm0
movaps xmmword [esp + 0x5e0], xmm0
movaps xmmword [esp + 0x5d0], xmm0
movaps xmmword [esp + 0x5c0], xmm0
movaps xmmword [esp + 0x5b0], xmm0
movaps xmmword [esp + 0x5a0], xmm0
movaps xmmword [esp + 0x590], xmm0
movaps xmmword [esp + 0x580], xmm0
movaps xmmword [esp + 0x570], xmm0
movaps xmmword [esp + 0x560], xmm0
movaps xmmword [esp + 0x550], xmm0
movaps xmmword [esp + 0x540], xmm0
movaps xmmword [esp + 0x530], xmm0
movaps xmmword [esp + 0x520], xmm0
movaps xmmword [esp + 0x510], xmm0
movaps xmmword [esp + 0x500], xmm0
mov esi, ecx
neg esi
jmp 0x573dda
mov byte [esp + edi + 0x600], bl
inc edi
je 0x573e0f
lea eax, [esi + edi]
cmp eax, 0xffffff01
je 0x57425b
cmp byte [edx + edi + 0xff], 0
je 0x573dd0
inc bl
jne 0x573dd0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36librarycore_src_strpattern.rs
mov edx, 0x2b
push 0x6080f4
call fcn.0045aec0
add esp, 4
ud2
push 0x100
lea eax, [esp + 0x504]
push eax
lea eax, [esp + 0x2d2]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x50]
cmp byte [eax + 6], 0
jne 0x573e94
lea ecx, [esp + 0x54]
call fcn.00405f90
mov edi, eax
mov eax, dword [esp + 0x2b4]
mov ebx, edx
test eax, eax
je 0x573e86
mov ecx, dword [esp + 0x2b8]
push eax
call dword [ecx]
add esp, 4
mov ecx, dword [esp + 0x2b8]
cmp dword [ecx + 4], 0
je 0x573e86
mov eax, dword [esp + 0x2b4]
cmp dword [ecx + 8], 9
jb 0x573e78
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov dword [esp + 0x2b4], edi
mov dword [esp + 0x2b8], ebx
mov eax, dword [esp + 0x2c4]
test eax, eax
je 0x573ecf
mov edx, dword [esp + 0x2bc]
lea eax, [eax + eax*8]
lea esi, [edx + eax*4]
xor eax, eax
nop
cmp dword [edx], 1
mov edi, dword [edx + 0xc]
sete cl
xor cl, 3
shl edi, cl
mov ecx, dword [edx + 0x1c]
add edx, 0x24
lea eax, [eax + ecx*8]
add eax, edi
cmp edx, esi
jne 0x573eb0
jmp 0x573ed1
xor eax, eax
mov dword [esp + 0x2b0], eax
lea ecx, [esp + 0x2b0]
mov eax, dword [esp + 0x2a4]
mov esi, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x890]
push 0x11c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x573f26
push dword [esp + 0x58]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x29c], 2
je 0x573fcd
mov eax, dword [esp + 0x27c]
mov dword [esp + 0xc], ebx
test eax, eax
je 0x573f7f
mov ebx, dword [esp + 0x274]
shl eax, 2
lea edi, [eax + eax*2]
add ebx, 4
jmp 0x573f68
add ebx, 0xc
add edi, 0xfffffff4
je 0x573f7f
cmp dword [ebx], 0
je 0x573f60
push dword [ebx - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x573f60
mov eax, dword [esp + 0x278]
test eax, eax
je 0x573fa8
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x573fa8
push dword [esp + 0x274]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
test dword [esp + 0x284], 0x7fffffff
mov ebx, dword [esp + 0xc]
je 0x573fcd
push dword [esp + 0x280]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x3d0], 0
je 0x573feb
push dword [esp + 0x3cc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
lea edi, [esp + 0x3e4]
push 0x11c
lea eax, [esp + 0x894]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
cmp byte [esp + 0x42], 0
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3dc], esi
mov dword [esp + 0x3e0], ebx
mov al, byte [esp + 0x3fc]
mov byte [esp + 0x18], al
je 0x574192
lea ebx, [esp + 0x500]
lea eax, [esp + 0x3d8]
lea edx, [esp + 0x40]
mov ecx, ebx
push eax
call fcn.00568550
add esp, 4
mov eax, dword [esp + 0x504]
cmp dword [esp + 0x500], 1
mov edx, dword [esp + 0x508]
mov ecx, dword [esp + 0x50c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
je 0x5742f0
push 0x134
lea eax, [esp + 0x514]
push eax
lea esi, [esp + 0x58]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x134
push esi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x3e8]
test eax, eax
je 0x5740ef
mov ecx, dword [esp + 0x3ec]
push eax
call dword [ecx]
add esp, 4
mov ecx, dword [esp + 0x3ec]
cmp dword [ecx + 4], 0
je 0x5740ef
mov eax, dword [esp + 0x3e8]
cmp dword [ecx + 8], 9
jb 0x5740e1
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x3f8]
test eax, eax
je 0x57415a
mov edi, dword [esp + 0x3f0]
lea eax, [eax + eax*8]
lea ebx, [edi + eax*4]
jmp 0x574117
add edi, 0x24
cmp edi, ebx
je 0x57415a
cmp dword [edi], 0
mov eax, dword [edi + 8]
je 0x574151
test eax, 0x3fffffff
je 0x574136
push dword [edi + 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
test dword [edi + 0x18], 0x1fffffff
je 0x574110
push dword [edi + 0x14]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x574110
test eax, 0x1fffffff
jne 0x574126
jmp 0x574136
mov eax, dword [esp + 0x3f4]
mov ecx, 1
test eax, eax
je 0x5741ca
mov ebx, dword [ebp + 8]
shl eax, 2
lea eax, [eax + eax*8]
test eax, eax
je 0x5741cd
push dword [esp + 0x3f0]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ecx, 1
jmp 0x5741cd
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
push 0x11c
push edi
lea esi, [esp + 0x58]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x134
push esi
lea edi, [esp + 0x508]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, dword [ebp + 8]
xor ecx, ecx
jmp 0x5741d4
mov ebx, dword [ebp + 8]
lea edi, [esp + 0x500]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x10], eax
lea eax, [esi + 0x14]
push 0x134
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, byte [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov byte [esi + 0x148], al
movzx eax, word [esp + 0x50]
mov word [esi + 0x149], ax
mov al, byte [esp + 0x52]
mov byte [esi + 0x14b], al
mov dword [esi + 0x14c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
mov dword [esi], 3
jmp 0x573499
mov ecx, esi
push 0x689e88
jmp 0x57427f
push 0x6080c4
jmp 0x57427f
mov edx, ecx
push 0x6080e4
jmp 0x57427f
mov ecx, ebx
push 0x6080d4
jmp 0x57427f
mov ecx, dword [esp + 0x10]
push 0x689ea8
jmp 0x57427f
mov ecx, ebx
push 0x689f68
call fcn.0045a150
add esp, 4
ud2
mov ecx, 1
jmp 0x574271
call fcn.0040a620
ud2
mov ecx, ebx
mov edx, 1
call fcn.0040a640
ud2
mov eax, dword [esp + 0x504]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x50c]
mov eax, dword [esp + 0x508]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], eax
call fcn.0056f6e0
jmp 0x574367
mov ecx, ebx
mov edx, 4
call fcn.0040a640
ud2
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
jmp 0x574367
mov eax, dword [esp + 0x3e8]
test eax, eax
je 0x574333
mov ecx, dword [esp + 0x3ec]
push eax
call dword [ecx]
add esp, 4
mov ecx, dword [esp + 0x3ec]
cmp dword [ecx + 4], 0
je 0x574333
mov eax, dword [esp + 0x3e8]
cmp dword [ecx + 8], 9
jb 0x574325
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x3f8]
test eax, eax
jne 0x5743ae
mov eax, dword [esp + 0x3f4]
test eax, eax
je 0x574367
shl eax, 2
lea eax, [eax + eax*8]
test eax, eax
je 0x574367
push dword [esp + 0x3f0]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x14]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
mov dword [esp + 0x500], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x504], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x508], eax
push 0x68a2c0
push 0x68a290
lea eax, [esp + 0x508]
push eax
call fcn.0045d480
add esp, 0xc
ud2
mov edi, dword [esp + 0x3f0]
lea eax, [eax + eax*8]
lea ebx, [edi + eax*4]
jmp 0x5743c8
add edi, 0x24
cmp edi, ebx
je 0x57433e
cmp dword [edi], 0
mov eax, dword [edi + 8]
je 0x574402
test eax, 0x3fffffff
je 0x5743e7
push dword [edi + 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
test dword [edi + 0x18], 0x1fffffff
je 0x5743bd
push dword [edi + 0x14]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x5743bd
test eax, 0x1fffffff
jne 0x5743d7
jmp 0x5743e7