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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x74]
cmp edx, 0x101
jb 0x42b5fd
cmp byte [eax + 0x100], 0xbf
mov ebx, 0x100
jg 0x42b5e8
cmp byte [eax + 0xff], 0xbf
mov ebx, 0xff
jg 0x42b5e8
cmp byte [eax + 0xfe], 0xbf
mov ebx, 0xfe
jg 0x42b5e8
mov ebx, 0xfd
cmp ebx, edx
jae 0x42b61c
cmp byte [eax + ebx], 0xbf
jg 0x42b61e
push ecx
push ebx
push 0
push edx
push eax
call fcn.0042e650
xor ebp, ebp
mov ebx, str.librarycore_src_fmtmod.rscalled__Option::unwrap____on_a__None__valuefrom_str_radix_int:_must_lie_in_the_range___2__36_____found
mov dword [esp], eax
mov dword [esp + 4], edx
cmp edi, edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebp
jbe 0x42b650
jmp 0x42b6d2
jne 0x42b5f2
mov dword [esp], eax
xor eax, eax
cmp ebx, edx
mov dword [esp + 4], ebx
mov ebp, str._..._begin___end_______when_slicing___EeD
mov ebx, str.librarycore_src_fmtmod.rscalled__Option::unwrap____on_a__None__valuefrom_str_radix_int:_must_lie_in_the_range___2__36_____found
setb al
cmovb ebx, ebp
lea ebp, [eax + eax*4]
mov eax, dword [esp + 0x74]
cmp edi, edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebp
ja 0x42b6d2
cmp esi, edx
ja 0x42b6d2
cmp edi, esi
mov ebp, ecx
jbe 0x42b73c
lea eax, [esp + 0x7c]
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0xc], 0x446568
mov dword [esp + 0x10], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], fcn.0042c250
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], fcn.0042c250
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x24]
lea edx, [esp + 0x4c]
mov dword [esp + 0x38], 0x42c490
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], 0x42c490
mov dword [esp + 0x18], 4
lea eax, [esp + 0xc]
push ebp
push eax
call fcn.0042e0d0
lea eax, [esp + 0x54]
cmp edi, edx
mov dword [esp + 0xc], 0x446608
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], eax
mov eax, esp
mov dword [esp + 0x28], fcn.0042c250
cmova esi, edi
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x30], 0x42c490
mov dword [esp + 0x54], esi
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x38], 0x42c490
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 3
lea eax, [esp + 0xc]
push ecx
push eax
call fcn.0042e0d0
test edi, edi
je 0x42b74a
cmp edi, edx
jae 0x42b74a
cmp byte [eax + edi], 0xc0
jl 0x42b74c
mov edi, esi
cmp edi, edx
mov esi, edx
mov dword [esp + 0x5c], edi
jae 0x42b78f
mov ebx, edi
mov ecx, eax
xor eax, eax
lea esi, [edi + 1]
sub ebx, 3
cmovb ebx, eax
cmp ebx, esi
jbe 0x42b775
push 0x44663c
push esi
push ebx
call fcn.0042e5a0
add esi, ecx
add edi, ecx
sub esi, ecx
sub esi, ebx
mov eax, ecx
nop
test esi, esi
je 0x42b78d
dec esi
cmp byte [edi], 0xc0
lea edi, [edi - 1]
jl 0x42b780
add esi, ebx
test esi, esi
jne 0x42b797
mov edi, edx
jmp 0x42b7af
mov edi, edx
sub edi, esi
jbe 0x42b7ad
cmp byte [eax + esi], 0xbf
jg 0x42b7af
push ebp
push edx
push esi
push edx
push eax
call fcn.0042e650
jne 0x42b7a3
test edi, edi
jne 0x42b7c0
push ebp
push 0x2b
push 0x445f0b
call fcn.0042e1b0
movzx ebx, byte [eax + esi]
movzx edx, bl
test bl, bl
js 0x42b7d9
mov dword [esp + 8], edx
mov edx, 1
jmp 0x42b860
mov ecx, eax
mov eax, ebp
and edx, 0x1f
movzx ebp, byte [ecx + esi + 1]
and ebp, 0x3f
cmp bl, 0xdf
jbe 0x42b820
movzx edi, byte [ecx + esi + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp bl, 0xf0
jb 0x42b82b
movzx ecx, byte [ecx + esi + 3]
and edx, 7
shl edi, 6
mov ebp, eax
shl edx, 0x12
and ecx, 0x3f
or ecx, edi
or ecx, edx
cmp ecx, 0x110000
je 0x42b7b3
jmp 0x42b834
shl edx, 6
or edx, ebp
mov ebp, eax
mov ecx, edx
jmp 0x42b834
shl edx, 0xc
mov ebp, eax
or edi, edx
mov ecx, edi
mov edx, 1
cmp ecx, 0x80
mov dword [esp + 8], ecx
jb 0x42b860
mov edx, 2
cmp ecx, 0x800
jb 0x42b860
cmp ecx, 0x10000
mov edx, 4
sbb edx, 0
lea eax, [esp + 0x5c]
add edx, esi
lea ecx, [esp + 8]
mov dword [esp + 0x54], esi
mov dword [esp + 0xc], 0x4465c8
mov dword [esp + 0x10], 5
mov dword [esp + 0x1c], 0
mov dword [esp + 0x58], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], fcn.0042c250
mov dword [esp + 0x2c], ecx
lea edx, [esp + 0x54]
mov ecx, esp
mov dword [esp + 0x30], 0x42a440
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], 0x428840
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x24]
lea edx, [esp + 0x4c]
mov dword [esp + 0x40], 0x42c490
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x48], 0x42c490
mov dword [esp + 0x18], 5
lea eax, [esp + 0xc]
push ebp
push eax
call fcn.0042e0d0
int3