Function at 0x41b320
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x5b8
mov eax, dword [ecx + 0xc]
test al, 2
jne 0x41d953
mov edx, dword [ecx + 8]
or eax, dword [ecx + 0x14]
or edx, dword [ecx + 0x10]
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], edx
mov esi, dword [ecx + 0x128]
test esi, esi
je 0x41b400
mov eax, dword [ecx + 0x120]
imul edi, esi, 0x158
add eax, 8
jmp 0x41b3c7
mov edx, dword [ecx + 0x10]
mov esi, dword [ecx + 0x14]
or dword [eax + 4], esi
or dword [eax], edx
mov edx, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
or dword [eax + 8], esi
or dword [eax + 0xc], edx
mov edx, dword [ecx + 0xf0]
mov esi, dword [ecx + 0xf4]
mov dword [eax + 0xe8], edx
mov dword [eax + 0xec], esi
mov edx, dword [ecx + 0xf8]
mov esi, dword [ecx + 0xfc]
mov dword [eax + 0xf0], edx
mov dword [eax + 0xf4], esi
add eax, 0x158
add edi, 0xfffffea8
mov edx, dword [ecx + 8]
je 0x41b3fd
test dl, 8
je 0x41b370
cmp dword [eax + 0x5c], 0
jne 0x41b3e2
mov edx, dword [ecx + 0x64]
test edx, edx
je 0x41b3e2
mov esi, dword [ecx + 0x68]
mov dword [eax + 0x5c], edx
mov dword [eax + 0x60], esi
cmp dword [eax + 0x64], 0
jne 0x41b370
mov edx, dword [ecx + 0x6c]
test edx, edx
je 0x41b370
mov esi, dword [ecx + 0x70]
mov dword [eax + 0x64], edx
mov dword [eax + 0x68], esi
jmp 0x41b370
mov eax, dword [ecx + 0xc]
test eax, 0x200
mov dword [esp + 0xc], ecx
jne 0x41b4e6
mov ecx, dword [esp + 0xc]
mov eax, 0x200
test dword [ecx + 0x14], eax
jne 0x41b4e6
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x108]
mov ecx, dword [ecx + 0x110]
test ecx, ecx
mov dword [esp], ecx
je 0x41b498
imul esi, dword [esp], 0x148
mov ebx, eax
jmp 0x41b475
mov ecx, dword [ebx]
mov edi, dword [ebx + 4]
mov edx, 0xcffbfe5f
xor ecx, edx
mov edx, 0x59636393
xor edi, edx
or edi, ecx
je 0x41b4e6
add ebx, 0x148
add esi, 0xfffffeb8
je 0x41b498
cmp byte [ebx + 0x144], 2
jne 0x41b467
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
je 0x41b450
cmp dword [ebx + 0x80], 4
jne 0x41b450
cmp dword [ecx], 0x706c6568
jne 0x41b450
jmp 0x41b4e6
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x128]
mov esi, dword [ecx + 0x120]
test edx, edx
je 0x41b5b2
lea ebx, [esi + 0x48]
imul edi, edx, 0x158
jmp 0x41b4d2
add ebx, 0x158
add edi, 0xfffffea8
je 0x41b5b2
mov ecx, dword [ebx - 4]
test ecx, ecx
je 0x41b4c0
cmp dword [ebx], 4
jne 0x41b4c0
cmp dword [ecx], 0x706c6568
jne 0x41b4c0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x110]
test eax, eax
mov dword [esp + 8], eax
je 0x41b65e
mov eax, dword [esp + 0xc]
xor ebx, ebx
xor edi, edi
mov edx, dword [eax + 0x108]
imul eax, dword [esp + 8], 0x148
mov dword [esp + 4], eax
add eax, edx
mov dword [esp], eax
jmp 0x41b536
add esi, 0x148
inc edi
add ebx, 0x148
cmp dword [esp], esi
je 0x41b65e
mov esi, dword [edx + ebx]
mov ecx, dword [edx + ebx + 4]
mov eax, 0xcffbfe5f
xor esi, eax
mov eax, 0x59636393
xor ecx, eax
or ecx, esi
lea esi, [edx + ebx]
jne 0x41b520
cmp byte [edx + ebx + 0x144], 0
jne 0x41b520
lea eax, [esp + 0x158]
push 0x148
push esi
push eax
mov edi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 4]
lea eax, [edi + ebx + 0x148]
sub ecx, ebx
add ecx, 0xfffffeb8
push ecx
push eax
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
dec ecx
mov dword [eax + 0x110], ecx
lea ecx, [esp + 0x158]
call fcn.0041da50
jmp 0x41b65e
imul ecx, dword [esp], 0x148
mov edi, eax
mov dword [esp + 4], edx
nop
mov ebx, ecx
test ecx, ecx
je 0x41b5d8
cmp dword [edi + 0x78], 0x68
lea edi, [edi + 0x148]
lea ecx, [ebx - 0x148]
jne 0x41b5c0
test ebx, ebx
setne byte [esp + 8]
imul edi, dword [esp], 0x148
add eax, 0xffffff30
nop dword [eax + eax]
test edi, edi
je 0x41d9f0
mov ecx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xd4]
mov edx, 0xcffbfe5f
add eax, 0x148
add edi, 0xfffffeb8
xor ecx, edx
mov edx, 0x59636393
xor ebx, edx
or ebx, ecx
jne 0x41b5f0
cmp dword [eax], 0x110000
setne cl
or cl, byte [esp + 8]
jne 0x41b65e
imul ecx, dword [esp + 4], 0x158
nop dword [eax + eax]
test ecx, ecx
je 0x41b658
add ecx, 0xfffffea8
cmp dword [esi + 0x4c], 0x68
lea esi, [esi + 0x158]
jne 0x41b640
jmp 0x41b65e
mov dword [eax], 0x68
mov eax, dword [esp + 0xc]
test byte [eax + 9], 4
jne 0x41b678
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x64]
or eax, dword [ecx + 0x6c]
jne 0x41b756
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x110]
mov edx, dword [ebx + 0x108]
test eax, eax
je 0x41b74f
mov dword [esp], edx
imul ecx, eax, 0x148
mov dword [esp + 4], eax
xor ebx, ebx
mov eax, dword [esp]
mov dword [esp + 0x10], ecx
add ecx, edx
mov dword [esp + 8], ecx
xor ecx, ecx
jmp 0x41b6c7
add esi, 0x148
inc ecx
add ebx, 0x148
cmp dword [esp + 8], esi
je 0x41b83b
mov edx, dword [eax + ebx]
mov esi, 0x4d079478
mov edi, 0x30ff0b7c
xor edx, esi
mov esi, dword [eax + ebx + 4]
xor esi, edi
or esi, edx
lea esi, [eax + ebx]
jne 0x41b6b0
cmp byte [eax + ebx + 0x144], 0
mov edi, eax
jne 0x41b6b0
lea eax, [esp + 0x158]
push 0x148
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x10]
lea eax, [edi + ebx + 0x148]
sub ecx, ebx
add ecx, 0xfffffeb8
push ecx
push eax
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
lea ecx, [esp + 0x158]
dec eax
mov dword [ebx + 0x110], eax
call fcn.0041da50
mov edx, dword [ebx + 0x108]
mov edi, dword [ebx + 0x110]
jmp 0x41b846
xor edi, edi
jmp 0x41b846
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x108]
mov eax, dword [eax + 0x110]
test eax, eax
mov dword [esp], ecx
mov dword [esp + 4], eax
je 0x41b7dd
imul eax, dword [esp + 4], 0x148
mov ebx, dword [esp]
jmp 0x41b7a8
mov ecx, dword [ebx]
mov esi, dword [ebx + 4]
mov edx, 0x4d079478
mov edi, 0x30ff0b7c
xor ecx, edx
xor esi, edi
or esi, ecx
je 0x41b678
add ebx, 0x148
add eax, 0xfffffeb8
je 0x41b7dd
cmp byte [ebx + 0x144], 2
jne 0x41b79b
mov esi, dword [ebx + 0x7c]
test esi, esi
je 0x41b780
cmp dword [ebx + 0x80], 7
jne 0x41b780
mov ecx, dword [esi]
mov esi, dword [esi + 3]
mov edx, 0x73726576
mov edi, 0x6e6f6973
xor ecx, edx
xor esi, edi
or esi, ecx
jne 0x41b780
jmp 0x41b678
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + 0x128]
test ecx, ecx
je 0x41b83f
mov eax, dword [ebx + 0x120]
imul ecx, ecx, 0x158
mov ebx, 0x6e6f6973
mov edi, 0x73726576
add eax, 0x48
jmp 0x41b81d
add eax, 0x158
add ecx, 0xfffffea8
je 0x41b83b
mov esi, dword [eax - 4]
test esi, esi
je 0x41b810
cmp dword [eax], 7
jne 0x41b810
mov edx, dword [esi]
mov esi, dword [esi + 3]
xor edx, edi
xor esi, ebx
or esi, edx
jne 0x41b810
jmp 0x41b678
mov ebx, dword [esp + 0xc]
mov edx, dword [esp]
mov edi, dword [esp + 4]
lea eax, [ebx + 0x120]
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 8], eax
imul eax, edi, 0x148
mov edi, 0x30ff0b7c
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
je 0x41b965
mov ecx, edx
mov edx, dword [edx]
mov esi, 0x4d079478
add eax, 0xfffffeb8
xor edx, esi
mov esi, dword [ecx + 4]
xor esi, edi
or esi, edx
lea edx, [ecx + 0x148]
jne 0x41b870
cmp byte [ecx + 0x144], 1
ja 0x41b870
imul edx, dword [esp + 4], 0x148
mov eax, dword [esp]
nop dword [eax + eax]
mov ecx, edx
test edx, edx
je 0x41b8c8
cmp dword [eax + 0x78], 0x56
lea eax, [eax + 0x148]
lea edx, [ecx - 0x148]
jne 0x41b8b0
test ecx, ecx
mov edi, 0x30ff0b7c
setne byte [esp + 0x10]
imul ecx, dword [esp + 4], 0x148
add dword [esp], 0xffffff30
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x41d974
mov eax, dword [esp]
mov esi, 0x4d079478
add ecx, 0xfffffeb8
mov edx, dword [eax + 0xd0]
xor edx, esi
mov esi, dword [eax + 0xd4]
add eax, 0x148
mov dword [esp], eax
xor esi, edi
or esi, edx
jne 0x41b8f0
mov ecx, dword [esp]
cmp dword [ecx], 0x110000
setne cl
or cl, byte [esp + 0x10]
jne 0x41b965
mov ecx, dword [ebx + 0x120]
imul eax, dword [ebx + 0x128], 0x158
nop word cs:[eax + eax]
nop
test eax, eax
je 0x41b9c7
add eax, 0xfffffea8
cmp dword [ecx + 0x4c], 0x56
lea ecx, [ecx + 0x158]
jne 0x41b950
test byte [ebx + 0xb], 8
jne 0x41b9d6
test byte [ebx + 0x13], 8
jne 0x41b9d6
mov edx, dword [ebx + 0x128]
test edx, edx
je 0x41d117
mov esi, dword [esp + 8]
mov eax, 0x59636393
mov ecx, 0xcffbfe5f
imul edx, edx, 0x158
mov esi, dword [esi]
nop word cs:[eax + eax]
nop
test edx, edx
je 0x41c9b6
mov edi, dword [esi]
mov ebx, dword [esi + 4]
add edx, 0xfffffea8
add esi, 0x158
xor edi, ecx
xor ebx, eax
or ebx, edi
mov ebx, dword [esp + 0xc]
jne 0x41b9a0
jmp 0x41b9d6
mov eax, dword [esp]
mov dword [eax], 0x56
test byte [ebx + 0xb], 8
je 0x41b96b
mov eax, dword [ebx + 0x128]
test eax, eax
je 0x41d117
mov ecx, dword [esp + 8]
imul eax, eax, 0x158
mov ecx, dword [ecx]
add eax, ecx
mov dword [esp + 0xa8], eax
jmp 0x41ba0f
cmp edx, dword [esp + 0xa8]
mov ecx, edx
je 0x41d117
mov eax, dword [ebx + 0x108]
imul edi, dword [ebx + 0x110], 0x148
lea esi, [ecx + 0x108]
lea edx, [ecx + 0x158]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x154], esi
add edi, eax
mov dword [esp], eax
mov eax, dword [esp]
nop
cmp eax, edi
je 0x41ba00
cmp byte [eax + 0x145], 0
lea esi, [eax + 0x148]
mov eax, esi
je 0x41ba40
mov al, byte [esi - 4]
mov dword [esp + 0x24], edi
mov edi, dword [ecx + 0x108]
mov dword [esp], esi
mov dword [esp + 0x1c], edx
mov byte [esp + 0x23], al
cmp al, 1
mov eax, dword [ecx + 0x110]
ja 0x41bb50
test eax, eax
je 0x41bb3c
mov dword [esp + 0x18], eax
imul eax, eax, 0x148
xor ebx, ebx
mov dword [esp + 0x30], eax
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp]
mov ecx, dword [eax - 0x148]
mov edx, dword [eax - 0x144]
xor eax, eax
mov dword [esp + 8], ecx
jmp 0x41bac3
add esi, 0x148
inc eax
add ebx, 0x148
cmp dword [esp + 4], esi
je 0x41bb40
mov esi, dword [edi + ebx]
mov ecx, dword [edi + ebx + 4]
xor esi, dword [esp + 8]
xor ecx, edx
or ecx, esi
lea esi, [edi + ebx]
jne 0x41bab0
cmp byte [edi + ebx + 0x144], 0
jne 0x41bab0
push 0x148
push esi
lea eax, [esp + 0x160]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x30]
lea eax, [edi + ebx + 0x148]
sub ecx, ebx
add ecx, 0xfffffeb8
push ecx
push eax
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
dec ecx
mov dword [eax + 0x110], ecx
lea ecx, [esp + 0x158]
call fcn.0041da50
mov ecx, dword [esp]
mov al, byte [ecx - 4]
mov byte [esp + 0x23], al
jmp 0x41bb93
xor eax, eax
jmp 0x41bb50
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
nop dword [eax + eax]
imul eax, eax, 0x148
nop word cs:[eax + eax]
test eax, eax
je 0x41bb90
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov esi, dword [esp]
add edi, 0x148
add eax, 0xfffffeb8
xor edx, dword [esi - 0x144]
xor ecx, dword [esi - 0x148]
or ecx, edx
jne 0x41bb60
mov ecx, dword [esp + 0x10]
jmp 0x41c9a9
mov ecx, dword [esp]
mov esi, dword [ecx - 0x120]
mov ebx, 8
mov eax, esi
mul ebx
jo 0x41d95b
mov edx, eax
test eax, eax
js 0x41d95b
mov eax, dword [ecx - 0x148]
mov edi, dword [ecx - 0x12c]
test edx, edx
mov dword [esp + 8], edx
mov dword [esp + 0x150], eax
mov eax, dword [ecx - 0x144]
mov dword [esp + 0x13c], edi
mov edi, dword [ecx - 0x128]
mov dword [esp + 0x140], eax
mov eax, dword [ecx - 0x140]
mov dword [esp + 0x14c], eax
mov eax, dword [ecx - 0x13c]
mov dword [esp + 0x148], eax
mov eax, dword [ecx - 0x138]
mov dword [esp + 0x144], eax
mov eax, dword [ecx - 0x134]
mov dword [esp + 0x134], eax
mov eax, dword [ecx - 0x130]
mov dword [esp + 0x138], eax
je 0x41bc59
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41bc47
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d990
mov dword [0x6f1130], eax
mov edx, dword [esp + 8]
push edx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x41bc5e
jmp 0x41d990
mov eax, 8
lea ecx, [esi*8]
push ecx
push edi
mov dword [esp + 0x138], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov eax, dword [ecx - 0x110]
mov edx, eax
mov dword [esp + 0x9c], eax
mul ebx
jo 0x41d95b
mov edx, eax
test eax, eax
js 0x41d95b
mov eax, dword [ecx - 0x11c]
mov edi, dword [ecx - 0x118]
test edx, edx
mov dword [esp + 4], edx
mov dword [esp + 0x12c], eax
je 0x41bce9
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41bcd5
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d996
mov dword [0x6f1130], eax
mov edx, dword [esp + 4]
push edx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x41bcee
jmp 0x41d996
mov ecx, 8
mov eax, dword [esp + 0x9c]
lea eax, [eax*8]
push eax
push edi
mov dword [esp + 0x130], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov eax, dword [ecx - 0x104]
mov edx, eax
mov dword [esp + 0x98], eax
mul ebx
jo 0x41d95b
mov edx, eax
test eax, eax
js 0x41d95b
mov edi, dword [ecx - 0x10c]
test edx, edx
mov dword [esp + 0x18], edx
je 0x41bd73
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41bd5f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d99c
mov dword [0x6f1130], eax
mov edx, dword [esp + 0x18]
push edx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x41bd78
jmp 0x41d99c
mov ecx, 8
mov eax, dword [esp + 0x98]
mov dword [esp + 0x124], esi
lea eax, [eax*8]
push eax
push edi
mov dword [esp + 0x128], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp]
mov ecx, 0x10
mov eax, dword [esi - 0xf8]
mov dword [esp + 0x94], eax
mul ecx
jo 0x41d95b
mov ecx, eax
test eax, eax
js 0x41d95b
mov edi, dword [esi - 0x100]
test ecx, ecx
mov dword [esp + 0x30], ecx
je 0x41be05
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41bdf3
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9a2
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x30]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x41be0a
jmp 0x41d9a2
mov eax, 8
mov ecx, dword [esp + 0x94]
shl ecx, 4
push ecx
push edi
mov dword [esp + 0x124], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp]
mov ecx, 0x10
mov eax, dword [esi - 0xec]
mov dword [esp + 0x90], eax
mul ecx
jo 0x41d95b
mov ecx, eax
test eax, eax
js 0x41d95b
mov edi, dword [esi - 0xf4]
test ecx, ecx
mov dword [esp + 0x44], ecx
je 0x41be8c
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41be7a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9a8
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x44]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x41be91
jmp 0x41d9a8
mov eax, 8
mov ecx, dword [esp + 0x90]
shl ecx, 4
push ecx
push edi
mov dword [esp + 0x120], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp]
mov ecx, 0x10
mov eax, dword [esi - 0xe0]
mov dword [esp + 0x8c], eax
mul ecx
jo 0x41d95b
mov ecx, eax
test eax, eax
js 0x41d95b
mov edi, dword [esi - 0xe8]
test ecx, ecx
mov dword [esp + 0x40], ecx
je 0x41bf15
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41bf01
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9ae
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x40]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x41bf1a
jmp 0x41d9ae
mov esi, 8
mov eax, dword [esp + 0x8c]
shl eax, 4
push eax
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov eax, dword [ecx - 0xd4]
mov edx, eax
mov dword [esp + 0x88], eax
mul ebx
jo 0x41d95b
mov ebx, eax
test eax, eax
js 0x41d95b
mov edi, dword [ecx - 0xdc]
test ebx, ebx
je 0x41bf8c
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41bf78
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9b4
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x41bf91
jmp 0x41d9b4
mov ecx, 8
mov eax, dword [esp + 0x88]
lea eax, [eax*8]
push eax
push edi
mov dword [esp + 0x11c], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax - 0xbc]
mov ecx, eax
mov ecx, 0xc
mov dword [esp + 0x84], eax
mul ecx
jo 0x41d95b
mov edi, eax
test eax, eax
mov dword [esp + 0x78], ebx
js 0x41d95b
mov eax, dword [esp]
test edi, edi
mov ecx, dword [eax - 0xd0]
mov edx, dword [eax - 0xcc]
mov ebx, dword [eax - 0xc8]
mov eax, dword [eax - 0xc4]
mov dword [esp + 0x108], ebx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x2c], eax
je 0x41c045
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c031
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d970
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x41c04a
jmp 0x41d970
mov ebx, 4
mov eax, edi
mov ecx, 0xaaaaaaab
mov dword [esp + 0x104], esi
mul ecx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], edx
lea eax, [eax*4]
lea eax, [eax + eax*2]
push eax
push dword [esp + 0x30]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp]
mov eax, dword [esi - 0xb0]
mov ecx, eax
mov ecx, 8
mov dword [esp + 0x80], eax
mul ecx
jo 0x41d95b
mov ecx, eax
test eax, eax
js 0x41d95b
mov edi, ebx
mov ebx, dword [esi - 0xb8]
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x41c0e9
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c0d5
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9b8
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x2c]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x41c0ee
jmp 0x41d9b8
mov ecx, 4
mov eax, dword [esp]
mov dword [esp + 0x100], edi
lea edi, [eax - 0xa4]
mov eax, dword [esp + 0x80]
lea eax, [eax*8]
push eax
push ebx
mov dword [esp + 0x104], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov esi, dword [esp]
lea ecx, [esp + 0x158]
mov edx, edi
mov eax, dword [eax - 0xac]
mov dword [esp + 0xf8], eax
mov eax, dword [esp]
mov eax, dword [eax - 0xa8]
mov dword [esp + 0xf4], eax
call fcn.00427a70
mov eax, dword [esi - 0x90]
mov ecx, eax
mov ecx, 8
mov dword [esp + 0x7c], eax
mul ecx
jo 0x41d95b
mov ecx, eax
test eax, eax
js 0x41d95b
mov edi, dword [esi - 0x98]
test ecx, ecx
mov dword [esp + 0x3c], ecx
je 0x41c1b3
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c19f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9be
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x3c]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x41c1b8
jmp 0x41d9be
mov ecx, 4
mov eax, dword [esp + 0x7c]
lea eax, [eax*8]
push eax
push edi
mov dword [esp + 0xf8], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
xor edx, edx
mov dword [esp + 0x60], 0
mov esi, dword [ecx - 0x80]
mov eax, dword [ecx - 0x8c]
mov ebx, dword [ecx - 0x70]
mov edi, dword [ecx - 0x88]
mov dword [esp + 0xe4], esi
mov esi, dword [ecx - 0x7c]
mov dword [esp + 0x54], eax
mov eax, dword [ecx - 0x84]
mov dword [esp + 0xec], ebx
mov dword [esp + 0x4c], esi
mov esi, dword [ecx - 0x78]
mov dword [esp + 0x50], eax
mov eax, dword [ecx - 0x6c]
mov dword [esp + 0xe8], esi
mov esi, dword [ecx - 0x74]
test eax, eax
mov dword [esp + 0x48], esi
je 0x41c23f
mov ebx, dword [ecx - 0x68]
lock inc dword [eax]
mov dword [esp + 0x60], eax
jle 0x41d98c
mov eax, dword [ecx - 0x64]
test eax, eax
je 0x41c25b
mov edx, dword [ecx - 0x60]
mov dword [esp + 0xa4], edx
mov edx, eax
lock inc dword [eax]
jle 0x41d98c
mov eax, dword [ecx - 0x50]
mov dword [esp + 0xe0], edx
mov edx, eax
mov edx, 8
mov dword [esp + 0x70], eax
mul edx
jo 0x41d95b
mov edx, eax
test eax, eax
mov dword [esp + 0xdc], edi
js 0x41d95b
mov eax, dword [ecx - 0x5c]
mov edi, dword [ecx - 0x58]
test edx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 0xd8], eax
je 0x41c2d1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c2bd
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9c4
mov dword [0x6f1130], eax
mov edx, dword [esp + 0x38]
push edx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x41c2d6
jmp 0x41d9c4
mov ecx, 4
mov eax, dword [esp + 0x70]
lea eax, [eax*8]
push eax
push edi
mov dword [esp + 0xdc], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax - 0x44]
mov ecx, eax
mov ecx, 0x18
mov dword [esp + 0x6c], eax
mul ecx
jo 0x41d95b
mov edi, eax
test eax, eax
mov dword [esp + 0xd0], ebx
js 0x41d95b
mov eax, dword [esp]
test edi, edi
mov ebx, dword [eax - 0x4c]
je 0x41c356
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c342
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9d4
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x41c35b
jmp 0x41d9d4
mov esi, 8
mov eax, edi
mov ecx, 0xaaaaaaab
mul ecx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x64], edx
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax - 0x38]
mov ecx, eax
mov ecx, 8
mov dword [esp + 0x68], eax
mul ecx
jo 0x41d95b
mov edi, eax
test eax, eax
mov dword [esp + 0xcc], esi
js 0x41d95b
mov eax, dword [esp]
test edi, edi
mov ebx, dword [eax - 0x40]
je 0x41c3e4
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c3d0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d970
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x41c3e9
jmp 0x41d970
mov ecx, 4
mov eax, dword [esp + 0x68]
lea eax, [eax*8]
push eax
push ebx
mov dword [esp + 0xd0], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp]
mov eax, dword [edx - 0x34]
test eax, eax
je 0x41c46a
mov ecx, dword [edx - 0x30]
mov ebx, dword [edx - 0x2c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x10]
test ebx, ebx
je 0x41c478
mov eax, dword [edx - 0x24]
test eax, eax
mov dword [esp + 0x34], eax
js 0x41d95b
je 0x41c482
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c455
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41da09
mov dword [0x6f1130], eax
push dword [esp + 0x34]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x41c487
jmp 0x41da09
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x5c], 0
jmp 0x41c49d
mov dword [esp + 0x58], 0
jmp 0x41c49d
mov eax, 1
push dword [esp + 0x34]
push ebx
mov dword [esp + 0x60], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x10]
shr dword [esp + 8], 3
shr dword [esp + 4], 3
shr dword [esp + 0x18], 3
shr dword [esp + 0x30], 4
shr dword [esp + 0x44], 4
shr dword [esp + 0x40], 4
shr dword [esp + 0x78], 3
shr dword [esp + 0x74], 3
shr dword [esp + 0x2c], 3
shr dword [esp + 0x3c], 3
shr dword [esp + 0x38], 3
shr dword [esp + 0x64], 4
shr edi, 3
xor eax, eax
cmp dword [esp + 0x48], 1
mov edx, dword [esp]
movsd xmm0, qword [esp + 0x158]
sete al
mov dword [esp + 0x48], eax
xor eax, eax
cmp dword [esp + 0x4c], 1
sete al
mov dword [esp + 0xac], eax
xor eax, eax
cmp dword [esp + 0x50], 1
sete al
xor ebx, ebx
cmp dword [esp + 0x54], 1
mov esi, eax
sete bl
xor eax, eax
cmp dword [edx - 0x18], 1
sete al
cmp byte [edx - 3], 0
mov dword [esp + 0x54], eax
mov eax, dword [edx - 0x20]
setne byte [esp + 0x50]
cmp byte [edx - 2], 0
mov dword [esp + 0xb0], eax
mov eax, dword [edx - 0x1c]
setne byte [esp + 0x2b]
mov dword [esp + 0xb4], eax
mov eax, dword [edx - 0x14]
mov dword [esp + 0xb8], eax
mov eax, dword [edx - 0x10]
mov dword [esp + 0xbc], eax
mov eax, dword [edx - 0xc]
mov dword [esp + 0xc0], eax
mov eax, dword [edx - 8]
mov dl, byte [edx - 1]
movsd qword [esp + 0x3e0], xmm0
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x160]
mov byte [esp + 0x4c], dl
mov dword [esp + 0x3e8], eax
mov edx, dword [ecx + 0x110]
cmp edx, dword [ecx + 0x10c]
jne 0x41c5ba
mov ecx, dword [esp + 0x154]
call fcn.00415e90
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x110]
mov ecx, dword [esp + 0x10]
imul eax, edx, 0x148
mov edx, dword [esp + 0x140]
mov ecx, dword [ecx + 0x108]
mov dword [ecx + eax + 4], edx
mov edx, dword [esp + 0x150]
mov dword [ecx + eax], edx
mov edx, dword [esp + 0x14c]
mov dword [ecx + eax + 8], edx
mov edx, dword [esp + 0x148]
mov dword [ecx + eax + 0xc], edx
mov edx, dword [esp + 0x144]
mov dword [ecx + eax + 0x10], edx
mov edx, dword [esp + 0x134]
mov dword [ecx + eax + 0x14], edx
mov edx, dword [esp + 0x138]
mov dword [ecx + eax + 0x18], edx
mov edx, dword [esp + 0x13c]
mov dword [ecx + eax + 0x1c], edx
mov edx, dword [esp + 0x130]
mov dword [ecx + eax + 0x20], edx
mov edx, dword [esp + 8]
mov dword [ecx + eax + 0x24], edx
mov edx, dword [esp + 0x124]
mov dword [ecx + eax + 0x28], edx
mov edx, dword [esp + 0x12c]
mov dword [ecx + eax + 0x2c], edx
mov edx, dword [esp + 0x128]
mov dword [ecx + eax + 0x30], edx
mov edx, dword [esp + 4]
mov dword [ecx + eax + 0x34], edx
mov edx, dword [esp + 0x9c]
mov dword [ecx + eax + 0x38], edx
mov edx, dword [esp + 0x120]
mov dword [ecx + eax + 0x3c], edx
mov edx, dword [esp + 0x18]
mov dword [ecx + eax + 0x40], edx
mov edx, dword [esp + 0x98]
mov dword [ecx + eax + 0x44], edx
mov edx, dword [esp + 0x11c]
mov dword [ecx + eax + 0x48], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + eax + 0x4c], edx
mov edx, dword [esp + 0x94]
mov dword [ecx + eax + 0x50], edx
mov edx, dword [esp + 0x118]
mov dword [ecx + eax + 0x54], edx
mov edx, dword [esp + 0x44]
mov dword [ecx + eax + 0x58], edx
mov edx, dword [esp + 0x90]
mov dword [ecx + eax + 0x5c], edx
mov edx, dword [esp + 0x104]
mov dword [ecx + eax + 0x60], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + eax + 0x64], edx
mov edx, dword [esp + 0x8c]
mov dword [ecx + eax + 0x68], edx
mov edx, dword [esp + 0x114]
mov dword [ecx + eax + 0x6c], edx
mov edx, dword [esp + 0x78]
mov dword [ecx + eax + 0x70], edx
mov edx, dword [esp + 0x88]
mov dword [ecx + eax + 0x74], edx
mov edx, dword [esp + 0x110]
mov dword [ecx + eax + 0x78], edx
mov edx, dword [esp + 0x10c]
mov dword [ecx + eax + 0x7c], edx
mov edx, dword [esp + 0x108]
mov dword [ecx + eax + 0x80], edx
mov edx, dword [esp + 0x100]
mov dword [ecx + eax + 0x84], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + eax + 0x88], edx
mov edx, dword [esp + 0x84]
mov dword [ecx + eax + 0x8c], edx
mov edx, dword [esp + 0xfc]
mov dword [ecx + eax + 0x90], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + eax + 0x94], edx
mov edx, dword [esp + 0x80]
mov dword [ecx + eax + 0x98], edx
mov edx, dword [esp + 0xf8]
mov dword [ecx + eax + 0x9c], edx
mov edx, dword [esp + 0xf4]
mov dword [ecx + eax + 0xa0], edx
mov edx, dword [esp + 0x3e8]
mov dword [ecx + eax + 0xac], edx
mov edx, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0x3e0]
movsd qword [ecx + eax + 0xa4], xmm0
mov dword [ecx + eax + 0xb0], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + eax + 0xb4], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + eax + 0xb8], edx
mov edx, dword [esp + 0xdc]
mov dword [ecx + eax + 0xbc], ebx
mov ebx, dword [esp + 0xc]
mov dword [ecx + eax + 0xc0], edx
mov edx, dword [esp + 0xe4]
mov dword [ecx + eax + 0xc4], esi
mov dword [ecx + eax + 0xc8], edx
mov edx, dword [esp + 0xac]
mov dword [ecx + eax + 0xcc], edx
mov edx, dword [esp + 0xe8]
mov dword [ecx + eax + 0xd0], edx
mov edx, dword [esp + 0x48]
mov dword [ecx + eax + 0xd4], edx
mov edx, dword [esp + 0xec]
mov dword [ecx + eax + 0xd8], edx
mov edx, dword [esp + 0x60]
mov dword [ecx + eax + 0xdc], edx
mov edx, dword [esp + 0xd0]
mov dword [ecx + eax + 0xe0], edx
mov edx, dword [esp + 0xe0]
mov dword [ecx + eax + 0xe4], edx
mov edx, dword [esp + 0xa4]
mov dword [ecx + eax + 0xe8], edx
mov edx, dword [esp + 0xd8]
mov dword [ecx + eax + 0xec], edx
mov edx, dword [esp + 0xd4]
mov dword [ecx + eax + 0xf0], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + eax + 0xf4], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + eax + 0xf8], edx
mov edx, dword [esp + 0xcc]
mov dword [ecx + eax + 0xfc], edx
mov edx, dword [esp + 0x64]
mov dword [ecx + eax + 0x100], edx
mov edx, dword [esp + 0x6c]
mov dword [ecx + eax + 0x104], edx
mov edx, dword [esp + 0xc8]
mov dword [ecx + eax + 0x108], edx
mov edx, dword [esp + 0x68]
mov dword [ecx + eax + 0x10c], edi
mov dword [ecx + eax + 0x110], edx
mov edx, dword [esp + 0x5c]
mov dword [ecx + eax + 0x114], edx
mov edx, dword [esp + 0xa0]
mov dword [ecx + eax + 0x118], edx
mov edx, dword [esp + 0x58]
mov dword [ecx + eax + 0x11c], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + eax + 0x120], edx
mov dword [ecx + eax + 0x124], edx
mov edx, dword [esp + 0xb0]
mov dword [ecx + eax + 0x128], edx
mov edx, dword [esp + 0xb4]
mov dword [ecx + eax + 0x12c], edx
mov edx, dword [esp + 0x54]
mov dword [ecx + eax + 0x130], edx
mov edx, dword [esp + 0xb8]
mov dword [ecx + eax + 0x134], edx
mov edx, dword [esp + 0xbc]
mov dword [ecx + eax + 0x138], edx
mov edx, dword [esp + 0xc0]
mov dword [ecx + eax + 0x13c], edx
mov edx, dword [esp + 0xc4]
mov dword [ecx + eax + 0x140], edx
mov dl, byte [esp + 0x23]
mov dh, byte [esp + 0x4c]
mov byte [ecx + eax + 0x144], dl
mov dl, byte [esp + 0x50]
mov byte [ecx + eax + 0x145], dl
mov dl, byte [esp + 0x2b]
mov byte [ecx + eax + 0x146], dl
mov byte [ecx + eax + 0x147], dh
mov ecx, dword [esp + 0x10]
inc dword [ecx + 0x110]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
jmp 0x41ba3b
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41c9d1
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41da19
mov dword [0x6f1130], eax
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x41da19
mov dword [eax], 0x706c6568
mov esi, eax
mov bh, byte [eax + 1]
mov al, byte [eax + 2]
mov byte [esp + 0x10], al
mov al, byte [esi + 3]
mov byte [esp + 4], al
call fcn.005eeb70
test eax, eax
mov dword [esp], eax
je 0x41da2a
movzx edi, bh
mov ecx, 0x1b3
xor edi, 0x639fecf7
mov eax, edi
mul ecx
imul ecx, edi, 0x100
movzx edi, byte [esp + 0x10]
or ecx, edx
mov edx, 0x1c9daddb
imul ebx, edx, 0x1b3
add ebx, ecx
mov ecx, 0x1b3
xor edi, eax
imul ebx, ebx, 0x1b3
mov eax, edi
mul ecx
imul ecx, edi, 0x100
movzx edi, byte [esp + 4]
add ecx, edx
add ebx, ecx
mov ecx, 0x1b3
xor edi, eax
mov eax, edi
mul ecx
mov ecx, eax
imul eax, edi, 0x100
imul edi, ebx, 0x1b3
add eax, edx
xor ecx, 0xff
mov edx, 0x1b3
add edi, eax
mov eax, ecx
imul ecx, ecx, 0x100
mul edx
add ecx, edx
imul edx, edi, 0x1b3
mov edi, dword [esp]
add ecx, edx
movdqu xmm0, xmmword [edi]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
mov dword [edi], edx
movd edx, xmm1
adc edx, 0
mov dword [edi + 4], edx
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
mov ecx, dword [0x6d6b64]
mov eax, dword [0x6d3de0]
lea edi, [esp + 0x290]
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], 4
mov dword [esp + 0x198], 4
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a4], 0x110000
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1fc], 0
lea esi, [esp + 0x294]
mov edx, str.helpPrint_help_informationPrint_version_informationunexpected_invalid_UTF_8_code_point_cargo_registry_src_github.com_1ecc6299db9ec823_clap_3.0.0_beta.5_src_parse_matches_arg_matches.rsB
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x244], 0x3e7
mov dword [esp + 0x248], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x258], 0
mov byte [esp + 0x2a8], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], eax
mov dword [esp + 0x27c], 0
mov dword [esp + 0x280], 0
movdqu xmmword [esp + 0x170], xmm0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0x61fe20
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], 0
mov dword [esp + 0x290], 0
mov dword [esp + 0x298], 0
mov dword [esp + 0x2a0], 0
lea ecx, [esp + 0x3e0]
push 4
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x45c], 0x61ccec
mov dword [esp + 0x460], 4
lea eax, [esp + 0x3f8]
lea ecx, [esp + 0x2c0]
movsd xmm0, qword [esp + 0x3e0]
movsd xmm1, qword [esp + 0x3e8]
movsd qword [esp + 0x538], xmm0
movsd qword [esp + 0x540], xmm1
push 0x120
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x518]
lea ecx, [esp + 0x51c]
lea eax, [esp + 0x520]
test edx, edx
cmovne edi, ecx
cmove eax, esi
mov ecx, dword [edi]
mov edi, dword [esp + 0x268]
mov esi, dword [eax]
mov eax, 1
cmove edx, eax
movzx eax, word [esp + 0x526]
mov dword [esp], edx
cmp edi, dword [esp + 0x264]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], esi
mov word [esp + 0x1c], ax
jne 0x41cdfb
lea ecx, [esp + 0x260]
mov edx, edi
call fcn.00415e90
mov edi, dword [esp + 0x268]
mov ebx, dword [esp + 0x260]
movsd xmm0, qword [esp + 0x538]
movsd xmm1, qword [esp + 0x540]
imul esi, edi, 0x148
movsd qword [ebx + esi + 8], xmm1
movsd qword [ebx + esi], xmm0
mov dword [ebx + esi + 0x10], 0x61ccf0
mov dword [ebx + esi + 0x14], 0x16
lea eax, [ebx + esi + 0x18]
push 0x120
lea ecx, [esp + 0x2c4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc edi
mov dword [ebx + esi + 0x138], eax
mov eax, dword [esp + 4]
mov dword [ebx + esi + 0x13c], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + esi + 0x140], eax
movzx eax, word [esp + 0x1c]
mov word [ebx + esi + 0x144], 0x100
mov word [ebx + esi + 0x146], ax
mov dword [esp + 0x268], edi
lea eax, [esp + 0x158]
push 0x158
push eax
lea eax, [esp + 0x3e8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x158]
mov edx, 0x6857a6
push 7
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x1d4], 0x6857a6
mov dword [esp + 0x1d8], 7
lea eax, [esp + 0x170]
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
movsd qword [esp + 0x2b0], xmm0
movsd qword [esp + 0x2b8], xmm1
push 0x120
push eax
lea eax, [esp + 0x2c8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x290]
lea ecx, [esp + 0x518]
lea edx, [esp + 0x294]
lea esi, [esp + 0x51c]
movzx edi, word [esp + 0x29e]
test eax, eax
cmove edx, ecx
lea ecx, [esp + 0x298]
cmove ecx, esi
mov esi, dword [esp + 0x4f0]
mov ebx, dword [edx]
mov edx, dword [ecx]
mov ecx, 1
mov word [esp + 4], di
cmovne ecx, eax
mov dword [esp], ecx
cmp esi, dword [esp + 0x4ec]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], edx
jne 0x41cf8c
lea ecx, [esp + 0x4e8]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x4f0]
mov ebx, dword [esp + 0x4e8]
movsd xmm0, qword [esp + 0x2b0]
movsd xmm1, qword [esp + 0x2b8]
imul edi, esi, 0x148
movsd qword [ebx + edi + 8], xmm1
movsd qword [ebx + edi], xmm0
mov dword [ebx + edi + 0x10], 0x61cd06
mov dword [ebx + edi + 0x14], 0x19
lea eax, [ebx + edi + 0x18]
push 0x120
lea ecx, [esp + 0x2c4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov ecx, 0x1f
mov dword [ebx + edi + 0x138], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + edi + 0x13c], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + edi + 0x140], eax
movzx eax, word [esp + 4]
mov word [ebx + edi + 0x144], 0x100
mov word [ebx + edi + 0x146], ax
mov dword [esp + 0x4f0], esi
lea edi, [esp + 0x538]
lea esi, [esp + 0x3e0]
lea eax, [esp + 0x464]
rep movsd dword es:[edi], dword [esi]
push 0xd4
push eax
lea eax, [esp + 0x160]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x2c0]
mov ecx, 0x1f
lea esi, [esp + 0x538]
mov eax, dword [ebx + 0x124]
mov dword [esp], eax
mov eax, dword [ebx + 0x128]
mov dword [esp + 4], eax
rep movsd dword es:[edi], dword [esi]
push 0xd4
lea eax, [esp + 0x15c]
push eax
lea eax, [esp + 0x3e8]
push eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add esp, 0xc
cmp ecx, edx
jne 0x41d0b5
mov ecx, dword [esp + 8]
call fcn.00415a90
mov ecx, dword [ebx + 0x128]
mov eax, dword [ebx + 0x120]
imul edx, ecx, 0x158
lea esi, [esp + 0x2c0]
mov ecx, 0x1f
lea edi, [eax + edx]
rep movsd dword es:[edi], dword [esi]
mov dword [eax + edx + 0x7c], str.Print_this_message_or_the_help_of_the_given_subcommand_s_
mov dword [eax + edx + 0x80], 0x39
lea eax, [eax + edx + 0x84]
push 0xd4
lea ecx, [esp + 0x3e4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x128]
inc eax
mov dword [ebx + 0x128], eax
test eax, eax
jne 0x41b9e4
mov ecx, ebx
call fcn.0041dca0
mov eax, dword [ebx + 0x110]
mov esi, dword [ebx + 0x108]
test eax, eax
je 0x41d456
imul eax, eax, 0x148
lea ecx, [ebx + 0x12c]
mov dword [esp + 0x18], 1
add eax, esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
jmp 0x41d16a
cmp esi, dword [esp + 0x24]
je 0x41d441
mov eax, dword [esi + 0x44]
mov dword [esp + 8], esi
test eax, eax
je 0x41d390
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x3c]
lea eax, [ecx + eax*8]
mov dword [esp + 4], eax
jmp 0x41d214
mov eax, dword [ebx + 0x12c]
movsd xmm0, qword [esp + 0x188]
imul ecx, edx, 0x38
movsd qword [eax + ecx + 0x30], xmm0
movsd xmm0, qword [esp + 0x180]
movsd qword [eax + ecx + 0x28], xmm0
movsd xmm0, qword [esp + 0x178]
movsd qword [eax + ecx + 0x20], xmm0
movsd xmm0, qword [esp + 0x170]
movsd qword [eax + ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [eax + ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
movsd qword [eax + ecx + 8], xmm1
movsd qword [eax + ecx], xmm0
mov ecx, dword [esp]
inc dword [ebx + 0x134]
cmp ecx, dword [esp + 4]
je 0x41d390
mov esi, dword [ebx + 0x12c]
mov eax, ecx
add ecx, 8
mov dword [esp], ecx
imul ecx, dword [ebx + 0x134], 0x38
add esi, 0xffffffd8
nop dword [eax]
test ecx, ecx
je 0x41d290
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x2c]
add esi, 0x38
add ecx, 0xffffffc8
xor edi, dword [eax + 4]
xor edx, dword [eax]
or edx, edi
jne 0x41d230
mov eax, dword [esp + 8]
mov edx, dword [esi + 8]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
cmp edx, dword [esi + 4]
jne 0x41d264
mov ecx, esi
call fcn.00415e00
mov edx, dword [esi + 8]
mov eax, dword [esi]
mov ecx, dword [esp]
mov dword [eax + edx*8], ebx
mov dword [eax + edx*8 + 4], edi
inc dword [esi + 8]
mov ebx, dword [esp + 0xc]
cmp ecx, dword [esp + 4]
jne 0x41d214
jmp 0x41d390
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov esi, dword [0x6d3de0]
xor edx, edx
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov word [esp + 0x18c], 0
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], esi
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
movsd xmm0, qword [ecx]
lea ecx, [esp + 0x168]
movsd qword [esp + 0x10], xmm0
call fcn.00415e00
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x170]
movsd xmm0, qword [esp + 0x10]
movsd qword [eax + ecx*8], xmm0
inc ecx
mov edx, dword [ebx + 0x134]
mov dword [esp + 0x170], ecx
cmp edx, dword [ebx + 0x130]
jne 0x41d190
mov ecx, dword [esp + 0x1c]
call fcn.00415c50
mov edx, dword [ebx + 0x134]
jmp 0x41d190
mov edx, dword [esp + 8]
test byte [edx + 0x2d], 0x40
je 0x41d39e
or byte [ebx + 0xb], 0x10
mov eax, dword [edx + 0x78]
mov ecx, 0x110000
xor eax, ecx
mov ecx, dword [edx + 0x2c]
or eax, dword [edx + 0x7c]
sete al
jne 0x41d3b9
or ecx, 0x20
mov dword [edx + 0x2c], ecx
mov edi, dword [esp + 8]
test ecx, 0x240
je 0x41d3db
cmp dword [edi + 0xec], 0x110000
jne 0x41d3db
mov dword [edi + 0xec], 0x2c
mov edx, dword [edi + 0xb8]
cmp edx, 1
jbe 0x41d408
or ecx, 0x100000
mov dword [edi + 0x2c], ecx
cmp dword [edi + 0xbc], 1
je 0x41d408
mov dword [edi + 0xbc], 1
mov dword [edi + 0xc0], edx
lea esi, [edi + 0x148]
test al, al
je 0x41d160
cmp dword [edi + 0x130], 1
je 0x41d160
mov eax, dword [esp + 0x18]
mov dword [edi + 0x130], 1
mov dword [edi + 0x134], eax
inc eax
mov dword [esp + 0x18], eax
jmp 0x41d160
mov esi, dword [ebx + 0x108]
mov eax, dword [ebx + 0x110]
test eax, eax
jne 0x41d460
jmp 0x41d94b
xor eax, eax
test eax, eax
je 0x41d94b
imul eax, eax, 0x148
lea ecx, [ebx + 0x114]
mov dword [esp + 8], 0
add eax, esi
mov dword [esp + 4], ecx
mov dword [esp + 0x18], eax
jmp 0x41d492
inc dword [esp + 8]
cmp dword [esp + 0x18], esi
mov ebx, dword [esp + 0xc]
je 0x41d94b
cmp dword [esi + 0x130], 1
mov dword [esp + 0x10], esi
jne 0x41d4f0
mov esi, dword [esi + 0x134]
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41d4c0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d985
mov dword [0x6f1130], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x41d985
mov dword [eax], 2
mov dword [eax + 4], esi
mov edi, eax
mov esi, 1
mov dword [esp + 0x1c], 1
jmp 0x41d812
mov eax, dword [0x6d6b64]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c8], 0
mov edi, dword [esi + 0x78]
cmp edi, 0x110000
jne 0x41d530
xor esi, esi
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x7c]
test ebx, ebx
jne 0x41d573
jmp 0x41d65b
lea ecx, [esp + 0x2c0]
xor edx, edx
call fcn.00415ce0
mov esi, dword [esp + 0x2c8]
mov eax, dword [esp + 0x2c0]
mov ecx, esi
inc esi
shl ecx, 4
mov dword [eax + ecx], 0
mov dword [eax + ecx + 4], edi
mov dword [esp + 0x2c8], esi
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x7c]
test ebx, ebx
je 0x41d65b
mov edi, dword [ecx + 0x80]
test edi, edi
js 0x41d95b
je 0x41d5b8
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41d59e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d9e2
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x41d9e2
mov esi, dword [esp + 0x2c8]
jmp 0x41d5bd
mov eax, 1
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], edi
mov dword [esp + 0x160], 0
lea ecx, [esp + 0x158]
mov edx, ebx
push edi
call fcn.005e0680
add esp, 4
mov eax, dword [esp + 0x160]
movsd xmm0, qword [esp + 0x158]
cmp esi, dword [esp + 0x2c4]
mov dword [esp + 0x3e8], eax
movsd qword [esp + 0x3e0], xmm0
jne 0x41d626
lea ecx, [esp + 0x2c0]
mov edx, esi
call fcn.00415ce0
mov esi, dword [esp + 0x2c8]
mov eax, dword [esp + 0x2c0]
mov ecx, esi
inc esi
shl ecx, 4
mov dword [eax + ecx], 1
movsd xmm0, qword [esp + 0x3e0]
movsd qword [eax + ecx + 4], xmm0
mov edx, dword [esp + 0x3e8]
mov dword [eax + ecx + 0xc], edx
mov dword [esp + 0x2c8], esi
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x98]
test edi, edi
je 0x41d6e0
mov ebx, dword [ecx + 0x90]
shl edi, 3
jmp 0x41d6a5
shl esi, 4
add ebx, 8
mov dword [eax + esi], 0
mov dword [eax + esi + 4], ecx
mov esi, dword [esp + 0x2c8]
inc esi
add edi, 0xfffffff8
mov dword [esp + 0x2c8], esi
je 0x41d6e0
mov ecx, dword [ebx]
cmp esi, dword [esp + 0x2c4]
jne 0x41d680
mov dword [esp], ecx
lea ecx, [esp + 0x2c0]
mov edx, esi
call fcn.00415ce0
mov ecx, dword [esp]
mov eax, dword [esp + 0x2c0]
mov esi, dword [esp + 0x2c8]
jmp 0x41d680
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x41d800
mov ebx, dword [ecx + 0x84]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov dword [esp], eax
jmp 0x41d751
mov edi, dword [esp + 0x2c0]
mov eax, esi
add ebx, 0xc
inc esi
shl eax, 4
cmp dword [esp], ebx
mov dword [edi + eax], 1
movsd xmm0, qword [esp + 0x3e0]
movsd qword [edi + eax + 4], xmm0
mov ecx, dword [esp + 0x3e8]
mov dword [edi + eax + 0xc], ecx
mov dword [esp + 0x2c8], esi
je 0x41d807
mov esi, dword [ebx + 4]
test esi, esi
js 0x41d95b
mov edi, dword [ebx]
je 0x41d790
mov eax, dword [0x6f1130]
test eax, eax
jne 0x41d77b
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x41d962
mov dword [0x6f1130], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x41d795
jmp 0x41d962
mov eax, 1
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], 0
push esi
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x3e8], esi
mov esi, dword [esp + 0x2c8]
movsd xmm0, qword [esp + 0x158]
cmp esi, dword [esp + 0x2c4]
movsd qword [esp + 0x3e0], xmm0
jne 0x41d710
lea ecx, [esp + 0x2c0]
mov edx, esi
call fcn.00415ce0
mov esi, dword [esp + 0x2c8]
jmp 0x41d710
mov edi, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x1c], eax
mov ebx, esi
shl ebx, 4
add ebx, edi
test esi, esi
je 0x41d8d0
lea esi, [edi + 0x10]
mov dword [esp + 0x24], edi
jmp 0x41d876
mov eax, dword [eax + 0x114]
lea ecx, [edx + edx*4]
inc edx
add esi, 0x10
mov dword [eax + ecx*4], edi
movsd xmm0, qword [esp + 0x158]
movsd qword [eax + ecx*4 + 4], xmm0
mov edi, dword [esp + 0x160]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 8]
mov dword [eax + ecx*4 + 0x10], edi
mov ecx, dword [esp]
mov edi, dword [esp + 0xc]
add ecx, 0x10
mov dword [edi + 0x11c], edx
cmp ecx, ebx
je 0x41d8e0
mov edi, dword [esi - 0x10]
cmp edi, 3
je 0x41d8e2
lea ecx, [esi - 0x10]
mov eax, dword [ecx + 0xc]
mov dword [esp], ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0xc]
movsd xmm0, qword [ecx + 4]
mov edx, dword [eax + 0x11c]
movsd qword [esp + 0x158], xmm0
cmp edx, dword [eax + 0x118]
jne 0x41d830
mov ecx, dword [esp + 4]
call fcn.00556f20
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x11c]
jmp 0x41d830
mov esi, edi
sub ebx, esi
jne 0x41d8ea
jmp 0x41d920
mov esi, ebx
mov edi, dword [esp + 0x24]
sub ebx, esi
je 0x41d920
add esi, 8
jmp 0x41d8f8
add esi, 0x10
add ebx, 0xfffffff0
je 0x41d920
cmp dword [esi - 8], 1
jne 0x41d8f0
cmp dword [esi], 0
je 0x41d8f0
push dword [esi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x41d8f0
mov esi, dword [esp + 0x10]
add esi, 0x148
test dword [esp + 0x1c], 0xfffffff
je 0x41d480
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x41d480
mov eax, 2
or dword [ebx + 0xc], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040a620
ud2
mov ecx, esi
mov edx, 1
call fcn.0040a640
ud2
mov ecx, edi
jmp 0x41d9c8
mov ecx, 0x60b804
mov edx, 0x63
push 0x60a658
jmp 0x41d9ff
mov ecx, 0x10
jmp 0x41d9c8
ud2
mov ecx, dword [esp + 8]
jmp 0x41d9d6
mov ecx, dword [esp + 4]
jmp 0x41d9d6
mov ecx, dword [esp + 0x18]
jmp 0x41d9d6
mov ecx, dword [esp + 0x30]
jmp 0x41d9d6
mov ecx, dword [esp + 0x44]
jmp 0x41d9d6
mov ecx, dword [esp + 0x40]
jmp 0x41d9d6
mov ecx, ebx
jmp 0x41d9d6
mov ecx, dword [esp + 0x2c]
jmp 0x41d9c8
mov ecx, dword [esp + 0x3c]
jmp 0x41d9c8
mov ecx, dword [esp + 0x38]
mov edx, 4
call fcn.0040a640
ud2
mov ecx, edi
mov edx, 8
call fcn.0040a640
ud2
mov ecx, edi
mov edx, 1
call fcn.0040a640
ud2
mov ecx, 0x60b804
mov edx, 0x63
push 0x60a648
call fcn.0045d290
add esp, 4
ud2
mov ecx, dword [esp + 0x34]
mov edx, 1
call fcn.0040a640
ud2
mov ecx, 4
mov edx, 1
call fcn.0040a640
ud2
lea eax, [esp + 0x158]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36library_std_src_threadlocal.rs
mov edx, 0x46
push 0x6d8df8
push 0x60a6f8
push eax
call fcn.0045d480
add esp, 0xc
ud2