Function at 0x419fb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
cmp dword [esp + 0xa8], 0
mov esi, ecx
mov dword [esp + 0x24], edx
je 0x41a022
cmp byte [esi + 0x17d], 0
je 0x41a62c
inc dword [esi + 0x138]
mov dword [esp + 8], esi
mov eax, dword [esi + 0x174]
cmp eax, 3
ja 0x41a0a8
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x170]
movzx ebx, byte [ecx]
movzx ecx, bl
cmp edx, ecx
jbe 0x41a779
mov edi, dword [esi + 0x168]
cmp byte [edi + ecx], 0
je 0x41a02e
cmp byte [esi + 0x17a], 0
jne 0x41a058
jmp 0x41a0a8
mov byte [esi + 0x17d], 0
jmp 0x41a62c
mov byte [edi + ecx], 1
inc eax
mov ebp, dword [esp + 8]
mov dword [esi + 0x174], eax
movzx esi, byte [ecx + str.743210_._g]
add word [ebp + 0x178], si
mov esi, dword [esp + 8]
cmp byte [esi + 0x17a], 0
je 0x41a0a8
mov bh, bl
add bh, 0xbf
cmp bh, 0x1a
jae 0x41a069
or bl, 0x20
mov ecx, ebx
jmp 0x41a07e
mov bh, bl
xor bl, 0x20
add bh, 0x9f
movzx esi, bl
cmp bh, 0x1a
cmovb ecx, esi
mov esi, dword [esp + 8]
movzx ecx, cl
cmp edx, ecx
jbe 0x41a779
cmp byte [edi + ecx], 0
jne 0x41a0a8
mov byte [edi + ecx], 1
inc eax
mov dword [esi + 0x174], eax
movzx eax, byte [ecx + str.743210_._g]
add word [esi + 0x178], ax
cmp byte [esi + 0x137], 0
mov edi, esi
je 0x41a0df
mov eax, dword [edi + 0x130]
mov esi, edi
cmp eax, 3
ja 0x41a0d6
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xa8]
cmp eax, 0xff
jbe 0x41a230
mov byte [esi + 0x137], 0
mov edi, esi
mov eax, dword [edi]
mov esi, edi
lea ecx, [eax + 1]
test eax, eax
mov dword [edi], ecx
je 0x41a123
mov eax, dword [esi + 4]
test eax, eax
je 0x41a108
cmp dword [esi + 8], 0
je 0x41a108
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 4], 0
movzx eax, byte [esi + 0x165]
cmp al, 2
jne 0x41a1bf
jmp 0x41a62c
cmp dword [esp + 0xa8], 0
js 0x41a7af
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x41a15b
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edi, dword [esp + 0xa8]
test eax, eax
je 0x41a7a1
mov dword [0x919820], eax
mov edi, dword [esp + 0xa8]
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x41a7a1
mov ebp, eax
push edi
push dword [esp + 0x28]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
test eax, eax
je 0x41a1a0
cmp dword [esi + 8], 0
je 0x41a1a0
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xa8]
mov dword [esi + 4], ebp
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x165]
cmp al, 2
je 0x41a62c
test al, al
jne 0x41a62c
mov edi, dword [esi + 0x144]
cmp edi, 0x80
jb 0x41a5f4
mov byte [esi + 0x165], 1
mov byte [esi + 0x15c], 0
mov eax, esi
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esi + 0x13c]
mov dword [eax + 0x144], 0
add esi, 4
jmp 0x41a213
add esi, 0xc
sub edi, 1
jb 0x41a614
cmp dword [esi], 0
je 0x41a210
push dword [esi - 4]
push 0
push dword [0x919820]
call ebx
jmp 0x41a210
mov ecx, dword [esp + 0x24]
xor edx, edx
movzx ebx, byte [ecx]
add eax, ecx
mov edi, ecx
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + str.743210_._g]
mov dword [esp + 0xc], eax
lea eax, [esi + 0x110]
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 0x136]
mov byte [esp + 0x20], al
xor eax, eax
jmp 0x41a284
mov edi, dword [esp + 0x10]
mov ebp, dword [esp]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x14]
mov al, 1
inc edi
inc ebp
cmp edi, dword [esp + 0x1c]
mov edx, ebp
je 0x41a4a3
test al, 1
mov dword [esp + 0x2c], eax
jne 0x41a41b
cmp edx, 0x101
mov eax, pe_nt_image_headers32
cmovae eax, edx
mov dword [esp + 0x30], eax
nop word cs:[eax + eax]
nop dword [eax]
cmp dword [esp + 0x30], edx
je 0x41a788
movzx eax, byte [edi]
mov dword [esp + 0x14], ebx
mov dword [esp], edx
movzx ebp, al
movzx ecx, byte [esi + ebp + 0x10]
cmp cl, dl
cmovbe ecx, edx
cmp byte [esp + 0x20], 0
mov byte [esi + ebp + 0x10], cl
je 0x41a317
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
jae 0x41a2f0
mov ecx, eax
or cl, 0x20
jmp 0x41a303
mov ecx, eax
mov edx, eax
add cl, 0x9f
xor dl, 0x20
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, ebp
movzx edx, cl
mov ebx, dword [esp]
movzx ecx, byte [esi + edx + 0x10]
cmp cl, bl
cmovbe ecx, ebx
mov byte [esi + edx + 0x10], cl
mov ecx, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 4], ebp
and al, 7
and cl, 0x78
shr cl, 3
neg cl
movsx ebp, cl
mov ecx, eax
mov ebx, dword [esp + ebp + 0x88]
mov edx, dword [esp + ebp + 0x8c]
mov esi, dword [esp + ebp + 0x90]
mov ebp, dword [esp + ebp + 0x84]
mov edi, ebx
shld esi, edx, cl
shl edx, cl
not cl
shr edi, 1
shr edi, cl
mov ecx, eax
mov eax, dword [esp + 0x18]
or edi, edx
mov edx, dword [esp + 4]
shld ebx, ebp, cl
shl ebp, cl
shr edx, 3
and edx, 0xfffffff0
and edi, dword [eax + edx + 8]
and ebp, dword [eax + edx]
and esi, dword [eax + edx + 0xc]
and ebx, dword [eax + edx + 4]
or ebp, edi
or ebx, esi
or ebx, ebp
jne 0x41a265
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 8]
movzx eax, byte [edx + str.743210_._g]
inc edi
movzx ebx, bl
cmp al, cl
movzx ecx, cl
cmovb ebx, edx
mov edx, dword [esp]
cmovb ecx, eax
mov dword [esp + 0xc], ecx
inc edx
cmp edi, dword [esp + 0x1c]
jne 0x41a2b0
jmp 0x41a49f
cmp edx, 0xff
ja 0x41a788
movzx ecx, byte [edi]
mov dword [esp], edx
inc edi
movzx ebp, byte [esp]
movzx eax, cl
movzx edx, byte [esi + eax + 0x10]
mov dword [esp + 4], ebp
cmp dl, byte [esp]
cmovbe edx, ebp
mov ebp, dword [esp]
cmp byte [esp + 0x20], 0
mov byte [esi + eax + 0x10], dl
lea ebp, [ebp + 1]
je 0x41a466
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
jae 0x41a46f
or cl, 0x20
mov eax, ecx
jmp 0x41a480
mov eax, dword [esp + 0x2c]
jmp 0x41a278
mov edx, ecx
xor cl, 0x20
add dl, 0x9f
movzx ecx, cl
cmp dl, 0x1a
cmovb eax, ecx
movzx eax, al
mov edx, dword [esp + 4]
movzx ecx, byte [esi + eax + 0x10]
cmp cl, byte [esp]
cmova edx, ecx
mov byte [esi + eax + 0x10], dl
mov eax, dword [esp + 0x2c]
jmp 0x41a278
mov eax, dword [esp + 0x2c]
test al, 1
mov edi, esi
mov dword [esp + 0x14], ebx
jne 0x41a0df
mov ebx, dword [esp + 0x14]
mov eax, ebx
shr al, 7
movzx edx, al
mov eax, dword [esp + 0x18]
shl edx, 4
mov dword [esp + 0x30], edx
mov ecx, dword [eax + edx + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [eax + edx + 8]
mov dword [esp], ecx
mov ecx, dword [eax + edx]
mov eax, dword [eax + edx + 4]
mov dword [esp + 0xc], ecx
mov ecx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov eax, ebx
and cl, 0x78
and al, 7
shr cl, 3
neg cl
movsx esi, cl
mov ecx, eax
mov edi, dword [esp + esi + 0x68]
mov ebx, dword [esp + esi + 0x6c]
mov edx, dword [esp + esi + 0x70]
mov esi, dword [esp + esi + 0x64]
mov ebp, edi
shld edx, ebx, cl
shl ebx, cl
not cl
shr ebp, 1
mov dword [esp + 0x1c], edx
shr ebp, cl
mov ecx, eax
mov eax, dword [esp + 0xc]
shld edi, esi, cl
shl esi, cl
mov ecx, dword [esp]
or ebp, ebx
mov ebx, dword [esp + 0x10]
and eax, esi
and ecx, ebp
and ebx, edi
or ecx, eax
mov eax, dword [esp + 4]
and eax, edx
or ebx, eax
or ebx, ecx
jne 0x41a5d4
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp]
or eax, dword [esp + 0x1c]
add edx, dword [esp + 0x18]
or ebx, edi
mov edi, dword [esp + 0xc]
or ecx, ebp
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 8]
or edi, esi
mov dword [edx + 4], ebx
mov dword [edx], edi
inc eax
mov dword [esp + 0x28], eax
mov dword [ecx + 0x130], eax
movzx eax, byte [esp + 0x14]
movzx eax, byte [eax + str.743210_._g]
add word [ecx + 0x134], ax
cmp byte [esp + 0x20], 0
mov edi, dword [esp + 8]
je 0x41a0df
mov ebx, dword [esp + 0x14]
mov eax, ebx
add al, 0xbf
cmp al, 0x1a
jae 0x41a637
or bl, 0x20
jmp 0x41a649
mov edx, dword [esp + 0x24]
add esi, 0x13c
mov ecx, esi
push dword [esp + 0xa8]
call fcn.00421680
add esp, 0x98
jmp 0x41a632
mov eax, dword [esp + 8]
mov dword [eax + 0x150], 0
mov dword [eax + 0x154], 0xffffffff
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ebx
movzx ecx, bl
xor bl, 0x20
add al, 0x9f
movzx ebx, bl
cmp al, 0x1a
cmovae ebx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x18]
shr al, 7
movzx edx, al
shl edx, 4
mov eax, dword [ecx + edx + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 4], eax
mov eax, dword [ecx + edx + 8]
mov dword [esp], eax
mov eax, dword [ecx + edx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + edx + 4]
mov ecx, ebx
and cl, 0x78
shr cl, 3
neg cl
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x14], ebx
movsx esi, cl
mov eax, ebx
mov ebp, dword [esp + esi + 0x48]
mov edi, dword [esp + esi + 0x4c]
mov edx, dword [esp + esi + 0x50]
and al, 7
mov esi, dword [esp + esi + 0x44]
mov ecx, eax
mov ebx, ebp
shld edx, edi, cl
shl edi, cl
not cl
shr ebx, 1
mov dword [esp + 0x20], edx
shr ebx, cl
mov ecx, eax
mov eax, dword [esp + 0xc]
shld ebp, esi, cl
shl esi, cl
mov ecx, dword [esp]
or ebx, edi
mov edi, dword [esp + 0x10]
and eax, esi
and ecx, ebx
and edi, ebp
or ecx, eax
mov eax, dword [esp + 4]
and eax, edx
or edi, eax
or edi, ecx
mov edi, dword [esp + 8]
jne 0x41a0df
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp]
or ecx, dword [esp + 0x20]
add eax, dword [esp + 0x1c]
or edx, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], edx
or ebx, esi
mov edx, dword [esp + 4]
mov dword [eax], ebx
or ecx, ebp
mov dword [eax + 4], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [edi + 0x130], eax
movzx eax, byte [esp + 0x14]
movzx eax, byte [eax + str.743210_._g]
add word [edi + 0x134], ax
jmp 0x41a0df
push 0x728310
call fcn.00709fa0
add esp, 4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x7281d0
call fcn.0070a0f0
add esp, 4
ud2
mov ecx, 1
mov edx, edi
call fcn.00709d20
ud2
call fcn.00425040
ud2