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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x60
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
cmp ecx, 0x101
jb 0x41bbb9
cmp byte [eax + 0x100], 0xbf
mov edi, 0x100
jg 0x41bb8d
cmp byte [eax + 0xff], 0xbf
mov edi, 0xff
jg 0x41bb8d
cmp byte [eax + 0xfe], 0xbf
mov edi, 0xfe
jg 0x41bb8d
mov edi, 0xfd
cmp edi, ecx
jae 0x41bbb3
mov dword [esp], eax
mov dword [esp + 4], edi
mov edi, 5
mov ebx, 0x4309e3
cmp esi, ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edi
jbe 0x41bbd7
jmp 0x41bc61
jne 0x41bd04
mov dword [esp], eax
mov dword [esp + 4], ecx
xor edi, edi
mov ebx, str.from_str_radix_int:_must_lie_in_the_range___2__36_____found
cmp esi, ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edi
ja 0x41bc61
cmp edx, ecx
ja 0x41bc61
cmp esi, edx
jbe 0x41bcd4
lea eax, [esp + 0x78]
mov dword [esp + 0xc], 0x430a58
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x28], fcn.0041c9d0
mov dword [esp + 0x2c], eax
mov eax, esp
mov dword [esp + 0x30], fcn.0041c9d0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x38], 0x41ce10
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x40], 0x41ce10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x20], 4
push 0x430a78
push eax
call fcn.0042c510
add esp, 8
ud2
lea eax, [esp + 0x54]
cmp esi, ecx
mov dword [esp + 0xc], 0x430a0c
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], eax
mov eax, esp
mov dword [esp + 0x28], fcn.0041c9d0
cmova edx, esi
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x30], 0x41ce10
mov dword [esp + 0x54], edx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x38], 0x41ce10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x20], 3
push 0x430a24
push eax
call fcn.0042c510
add esp, 8
ud2
test esi, esi
jne 0x41bd0c
mov esi, edx
cmp esi, ecx
mov edx, ecx
mov dword [esp + 0x5c], esi
jae 0x41bd2f
mov edi, esi
xor edx, edx
sub edi, 3
cmovb edi, edx
lea edx, [esi + 1]
cmp edx, edi
jae 0x41bd18
sub esp, 4
push edx
push edi
call fcn.0042c5f0
add esp, 0xc
ud2
sub esp, 4
push edi
push 0
jmp 0x41bd42
cmp esi, ecx
jae 0x41bd4e
cmp byte [eax + esi], 0xc0
jge 0x41bcd8
jmp 0x41bcda
add edx, eax
add esi, eax
sub edx, eax
sub edx, edi
test edx, edx
je 0x41bd2d
dec edx
cmp byte [esi], 0xc0
lea esi, [esi - 1]
jl 0x41bd20
add edx, edi
test edx, edx
je 0x41bd54
cmp edx, ecx
jae 0x41bd52
cmp byte [eax + edx], 0xbf
jg 0x41bd54
sub esp, 4
push ecx
push edx
push ecx
push eax
call fcn.0042c640
add esp, 0x14
ud2
je 0x41bcd8
jmp 0x41bcda
jne 0x41bd3d
cmp edx, ecx
jne 0x41bd6e
push 0x430a88
push 0x2b
push str.called__Option::unwrap____on_a__None__value:
call fcn.0042c3c0
add esp, 0xc
ud2
mov bl, byte [eax + edx]
movzx ecx, bl
test bl, bl
js 0x41bd83
mov dword [esp + 8], ecx
mov ecx, 1
jmp 0x41bdfc
movzx edi, byte [eax + edx + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x41bdc3
movzx esi, byte [eax + edx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x41bdcc
movzx eax, byte [eax + edx + 3]
and ecx, 7
shl esi, 6
shl ecx, 0x12
and eax, 0x3f
or eax, esi
or eax, ecx
cmp eax, 0x110000
je 0x41bd58
jmp 0x41bdd3
shl ecx, 6
or ecx, edi
mov eax, ecx
jmp 0x41bdd3
shl ecx, 0xc
or esi, ecx
mov eax, esi
mov ecx, 1
cmp eax, 0x80
mov dword [esp + 8], eax
jb 0x41bdfc
mov ecx, 2
cmp eax, 0x800
jb 0x41bdfc
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
lea eax, [esp + 0x5c]
mov dword [esp + 0xc], 0x430acc
mov dword [esp + 0x10], 5
add ecx, edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x54], edx
mov dword [esp + 0x24], eax
lea eax, [esp + 8]
mov dword [esp + 0x28], fcn.0041c9d0
mov dword [esp + 0x58], ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x30], 0x41a590
mov dword [esp + 0x34], eax
mov eax, esp
mov dword [esp + 0x38], 0x4186c0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x40], 0x41ce10
mov dword [esp + 0x44], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x48], 0x41ce10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x20], 5
push 0x430af4
push eax
call fcn.0042c510
add esp, 8
ud2