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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
cmp dword [esp + 0xc8], 0
mov esi, ecx
je 0x41ed32
cmp byte [esi + 0x17d], 0
mov dword [esp + 0x2c], edx
je 0x41f17b
inc dword [esi + 0x138]
mov dword [esp + 0x14], esi
mov eax, dword [esi + 0x174]
cmp eax, 3
ja 0x41edb8
mov ecx, dword [esp + 0x2c]
mov edx, dword [esi + 0x170]
movzx ebx, byte [ecx]
movzx ecx, bl
cmp edx, ecx
jbe 0x41f56f
mov edi, dword [esi + 0x16c]
cmp byte [edi + ecx], 0
je 0x41ed3e
cmp byte [esi + 0x17a], 0
jne 0x41ed68
jmp 0x41edb8
mov byte [esi + 0x17d], 0
jmp 0x41f17b
mov byte [edi + ecx], 1
inc eax
mov ebp, dword [esp + 0x14]
mov dword [esi + 0x174], eax
movzx esi, byte [ecx + str.743210_._g]
add word [ebp + 0x178], si
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x17a], 0
je 0x41edb8
mov bh, bl
add bh, 0xbf
cmp bh, 0x1a
jae 0x41ed79
or bl, 0x20
mov ecx, ebx
jmp 0x41ed8e
mov bh, bl
xor bl, 0x20
add bh, 0x9f
movzx esi, bl
cmp bh, 0x1a
cmovb ecx, esi
mov esi, dword [esp + 0x14]
movzx ecx, cl
cmp edx, ecx
jbe 0x41f56f
cmp byte [edi + ecx], 0
jne 0x41edb8
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 0x41edeb
mov ecx, dword [edi + 0x130]
mov esi, edi
cmp ecx, 3
ja 0x41ede2
mov eax, dword [esp + 0xc8]
cmp eax, 0xff
jbe 0x41ef4e
mov byte [esi + 0x137], 0
mov edi, esi
mov eax, dword [edi + 0xc]
mov esi, edi
lea ecx, [eax + 1]
test eax, eax
mov dword [edi + 0xc], ecx
je 0x41ee28
test dword [esi], 0x7fffffff
mov eax, dword [esp + 0xc8]
jne 0x41eeb0
mov dword [esi], 0x80000000
cmp dword [esi + 0x13c], 0x80000000
jne 0x41eede
jmp 0x41f17b
movzx eax, byte [0x537170]
mov eax, dword [0x5371d8]
test eax, eax
jne 0x41ee52
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, dword [esp + 0xc8]
test eax, eax
je 0x41f58d
mov dword [0x5371d8], eax
mov edi, dword [esp + 0xc8]
push edi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x41f58d
mov ebp, eax
push edi
push dword [esp + 0x30]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
test dword [esi], 0x7fffffff
je 0x41ee94
push dword [esi + 4]
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi], edi
mov dword [esi + 4], ebp
mov dword [esi + 8], edi
mov eax, edi
cmp dword [esi + 0x13c], 0x80000000
je 0x41f17b
jmp 0x41eede
push dword [esi + 4]
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0xc8]
mov dword [esi], 0x80000000
cmp dword [esi + 0x13c], 0x80000000
je 0x41f17b
cmp byte [esi + 0x165], 0
jne 0x41f17b
mov edi, dword [esi + 0x144]
cmp edi, 0x80
jb 0x41f149
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 + 0x140]
mov dword [eax + 0x144], 0
add esi, 4
jmp 0x41ef3a
add esi, 0xc
dec edi
je 0x41f163
cmp dword [esi - 4], 0
je 0x41ef30
push dword [esi]
push 0
push dword [0x5371d8]
call ebx
jmp 0x41ef30
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
xor ebx, ebx
movzx edx, byte [ecx]
add eax, ecx
mov dword [esp + 0xc], eax
mov eax, ecx
mov ebp, eax
movzx ecx, byte [edx + str.743210_._g]
mov dword [esp + 8], edx
movzx edx, byte [esi + 0x136]
mov dword [esp + 0x28], ecx
lea ecx, [esi + 0x110]
mov byte [esp + 0x27], dl
mov dword [esp + 0x18], ecx
xor ecx, ecx
test dl, dl
je 0x41f186
cmp ecx, 0x101
mov eax, 0x100
cmovae eax, ecx
mov dword [esp + 0x20], eax
jmp 0x41efc2
mov eax, ecx
cmp ebp, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov ebx, eax
je 0x41f2e9
cmp dword [esp + 0x20], ecx
je 0x41f579
movzx eax, byte [ebp]
mov dword [esp + 0x10], ebx
movzx edi, al
mov ah, al
movzx edx, byte [esi + edi + 0x10]
mov dword [esp], edi
cmp dl, cl
cmovbe edx, ecx
add ah, 0xbf
cmp ah, 0x1a
mov byte [esi + edi + 0x10], dl
jae 0x41f000
mov edx, eax
or dl, 0x20
jmp 0x41f013
mov edx, eax
mov dh, al
add dl, 0x9f
xor dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, edi
lea ebx, [ecx + 1]
movzx edx, dl
inc ebp
mov dword [esp + 4], ebx
movzx ebx, byte [esi + edx + 0x10]
cmp bl, cl
cmova ecx, ebx
mov byte [esi + edx + 0x10], cl
mov ecx, dword [esp + 0x10]
test cl, 1
jne 0x41efb0
mov ecx, eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 1
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x1c], ebp
and al, 7
and cl, 0x78
shr cl, 3
neg cl
movsx edi, cl
mov ecx, eax
mov ebx, dword [esp + edi + 0xa8]
mov ebp, dword [esp + edi + 0xac]
mov esi, dword [esp + edi + 0xb0]
mov edi, dword [esp + edi + 0xa4]
mov edx, ebx
shld esi, ebp, cl
shl ebp, cl
not cl
shr edx, 1
shr edx, cl
mov ecx, eax
mov eax, dword [esp + 0x18]
or edx, ebp
mov ebp, dword [esp]
shld ebx, edi, cl
shl edi, cl
shr ebp, 3
and ebp, 0xfffffff0
and esi, dword [eax + ebp + 0xc]
and ebx, dword [eax + ebp + 4]
and edx, dword [eax + ebp + 8]
and edi, dword [eax + ebp]
mov ebp, dword [esp + 0x1c]
mov al, 1
or ebx, esi
mov esi, dword [esp + 0x14]
or edi, edx
or ebx, edi
jne 0x41efb2
mov edi, dword [esp]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
movzx ecx, byte [edi + str.743210_._g]
movzx eax, al
cmp cl, dl
movzx edx, dl
cmovb edx, ecx
cmovb eax, edi
cmp ebp, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov dword [esp + 8], eax
mov dword [esp + 0x28], edx
jne 0x41ef93
jmp 0x41f2eb
mov edx, dword [esp + 0x2c]
add esi, 0x13c
mov ecx, esi
push eax
call fcn.0041b5c0
add esp, 0xb8
jmp 0x41f181
mov eax, dword [esp + 0x14]
mov dword [eax + 0x150], 0
mov dword [eax + 0x154], 0xffffffff
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret
cmp ecx, 0x101
mov eax, 0x100
cmovae eax, ecx
mov dword [esp + 0x20], eax
jmp 0x41f1b2
mov eax, ebx
cmp ebp, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov ebx, eax
je 0x41f2e9
cmp dword [esp + 0x20], ecx
je 0x41f579
lea eax, [ecx + 1]
mov dword [esp + 4], eax
movzx eax, byte [ebp]
inc ebp
movzx edi, al
movzx edx, byte [esi + edi + 0x10]
mov dword [esp], edi
cmp dl, cl
cmova ecx, edx
test bl, 1
mov byte [esi + edi + 0x10], cl
jne 0x41f1a0
mov ecx, eax
mov dword [esp + 0x10], ebx
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 + 0x1c], ebp
and al, 7
and cl, 0x78
shr cl, 3
neg cl
movsx edi, cl
mov ecx, eax
mov edx, dword [esp + edi + 0x88]
mov ebp, dword [esp + edi + 0x8c]
mov esi, dword [esp + edi + 0x90]
mov edi, dword [esp + edi + 0x84]
mov ebx, edx
shld esi, ebp, cl
shl ebp, cl
not cl
shr ebx, 1
shr ebx, cl
mov ecx, eax
mov eax, dword [esp + 0x18]
or ebx, ebp
mov ebp, dword [esp]
shld edx, edi, cl
shl edi, cl
shr ebp, 3
and ebp, 0xfffffff0
and esi, dword [eax + ebp + 0xc]
and edx, dword [eax + ebp + 4]
and ebx, dword [eax + ebp + 8]
and edi, dword [eax + ebp]
mov ebp, dword [esp + 0x1c]
mov al, 1
or edx, esi
mov esi, dword [esp + 0x14]
or edi, ebx
or edx, edi
jne 0x41f1a2
mov edi, dword [esp]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
movzx ecx, byte [edi + str.743210_._g]
movzx eax, al
cmp cl, dl
movzx edx, dl
cmovb edx, ecx
cmovb eax, edi
cmp ebp, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov dword [esp + 8], eax
mov dword [esp + 0x28], edx
jne 0x41f186
jmp 0x41f2eb
mov ebx, eax
test bl, 1
mov edi, esi
jne 0x41edeb
mov ebx, dword [esp + 8]
mov eax, ebx
shr al, 7
movzx edx, al
mov eax, dword [esp + 0x18]
shl edx, 4
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + edx + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + edx + 8]
mov dword [esp + 4], ecx
mov ecx, dword [eax + edx]
mov eax, dword [eax + edx + 4]
mov dword [esp], ecx
mov ecx, ebx
mov dword [esp + 0xc], 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 dword [esp + 8], ebx
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 + 0x20], edx
shr ebp, cl
mov ecx, eax
mov eax, dword [esp + 0xc]
shld edi, esi, cl
or ebp, ebx
mov ebx, dword [esp + 4]
shl esi, cl
mov ecx, dword [esp]
and eax, edi
and ecx, esi
and ebx, ebp
or ebx, ecx
mov ecx, dword [esp + 0x10]
and ecx, edx
or eax, ecx
or eax, ebx
jne 0x41f41d
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
or eax, dword [esp + 0x20]
add edx, dword [esp + 0x18]
or ebx, edi
mov edi, dword [esp]
or ecx, ebp
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x14]
or edi, esi
mov dword [edx + 4], ebx
mov dword [edx], edi
inc eax
mov dword [esp + 0x30], eax
mov dword [ecx + 0x130], eax
movzx eax, byte [esp + 8]
movzx eax, byte [eax + str.743210_._g]
add word [ecx + 0x134], ax
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0x14]
je 0x41edeb
mov edx, dword [esp + 8]
mov eax, edx
add al, 0xbf
cmp al, 0x1a
jae 0x41f43d
or dl, 0x20
jmp 0x41f44f
mov eax, edx
movzx ecx, dl
xor dl, 0x20
add al, 0x9f
movzx edx, dl
cmp al, 0x1a
cmovae edx, ecx
mov eax, edx
mov ecx, dword [esp + 0x18]
shr al, 7
movzx eax, al
shl eax, 4
mov esi, dword [ecx + eax + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], esi
mov esi, dword [ecx + eax + 8]
mov dword [esp + 4], esi
mov esi, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, edx
and cl, 0x78
shr cl, 3
neg cl
mov dword [esp + 0x10], esi
mov dword [esp], 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 + 8], edx
movsx esi, cl
mov eax, edx
mov edx, dword [esp + esi + 0x48]
mov edi, dword [esp + esi + 0x4c]
mov ebx, dword [esp + esi + 0x50]
and al, 7
mov esi, dword [esp + esi + 0x44]
mov ecx, eax
mov ebp, edx
shld ebx, edi, cl
shl edi, cl
not cl
shr ebp, 1
mov dword [esp + 0x20], ebx
and ebx, dword [esp + 0xc]
shr ebp, cl
mov ecx, eax
shld edx, esi, cl
or ebp, edi
shl esi, cl
mov eax, esi
mov ecx, ebp
mov edi, edx
and edi, dword [esp]
and eax, dword [esp + 0x10]
and ecx, dword [esp + 4]
or ecx, eax
or edi, ebx
or edi, ecx
mov edi, dword [esp + 0x14]
jne 0x41edeb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
or edx, dword [esp]
or ebp, dword [esp + 4]
or esi, dword [esp + 0x10]
add eax, dword [esp + 0x1c]
or ecx, dword [esp + 0xc]
mov dword [eax], esi
mov dword [eax + 8], ebp
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x30]
inc eax
mov dword [edi + 0x130], eax
movzx eax, byte [esp + 8]
movzx eax, byte [eax + str.743210_._g]
add word [edi + 0x134], ax
jmp 0x41edeb
push 0x4e03d8
call fcn.004d63d0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e031c
call fcn.004d6490
mov ecx, 1
mov edx, edi
call fcn.004d6180
int3