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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
cmp edx, 0x101
jb 0x436639
cmp byte [ecx + 0x100], 0xbf
mov eax, 0x100
jg 0x436626
cmp byte [ecx + 0xff], 0xbf
mov eax, 0xff
jg 0x436626
cmp byte [ecx + 0xfe], 0xbf
mov eax, 0xfe
jg 0x436626
mov eax, 0xfd
mov edi, 5
mov ebp, str._..._byte_index__is_out_of_bounds_of__
mov dword [esp], ecx
mov dword [esp + 4], eax
jmp 0x436647
mov dword [esp], ecx
mov dword [esp + 4], edx
xor edi, edi
mov ebp, 0x43fca8
mov eax, dword [esp + 0x7c]
cmp ebx, edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], edi
ja 0x4366d6
cmp esi, edx
ja 0x4366d6
cmp ebx, esi
jbe 0x436742
lea ecx, [esp + 0x74]
lea esi, [esp + 0x78]
mov edx, esp
mov dword [esp + 0xc], 0x43a114
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], 0x40fdf0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], 0x40fdf0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x24]
lea esi, [esp + 0x4c]
mov dword [esp + 0x38], 0x411510
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], 0x411510
mov dword [esp + 0x20], 4
lea ecx, [esp + 0xc]
mov edx, eax
call fcn.00436290
ud2
cmp ebx, edx
lea ecx, [esp + 0x54]
mov edx, esp
mov dword [esp + 0xc], 0x43a0d8
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
cmova esi, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], 0x40fdf0
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x24]
mov dword [esp + 0x30], 0x411510
mov dword [esp + 0x54], esi
lea esi, [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 3
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0x411510
lea ecx, [esp + 0xc]
mov edx, eax
call fcn.00436290
ud2
test ebx, ebx
jne 0x436776
mov ebx, esi
cmp ebx, edx
mov esi, edx
mov dword [esp + 0x5c], ebx
jae 0x43679f
mov edi, ebx
xor esi, esi
sub edi, 3
cmovb edi, esi
lea esi, [ebx + 1]
cmp esi, edi
jae 0x436782
mov ecx, edi
mov edx, esi
push 0x43a1ac
call fcn.00436450
add esp, 4
ud2
cmp ebx, edx
jae 0x4367ba
cmp byte [ecx + ebx], 0xc0
jge 0x436746
jmp 0x436748
add esi, ecx
add ebx, ecx
sub esi, ecx
sub esi, edi
nop word [eax + eax]
test esi, esi
je 0x43679d
dec esi
cmp byte [ebx], 0xc0
lea ebx, [ebx - 1]
jl 0x436790
add esi, edi
test esi, esi
je 0x4367c0
cmp esi, edx
jae 0x4367be
cmp byte [ecx + esi], 0xbf
jg 0x4367c0
push eax
push edx
push esi
call fcn.004365e0
add esp, 0xc
ud2
je 0x436746
jmp 0x436748
jne 0x4367ad
cmp esi, edx
jne 0x4367d9
mov ecx, 0x43e1c7
mov edx, 0x2b
push eax
call fcn.004363a0
add esp, 4
ud2
mov bl, byte [ecx + esi]
movzx edx, bl
test bl, bl
js 0x4367ee
mov dword [esp + 8], edx
mov edx, 1
jmp 0x43686b
movzx ebp, byte [ecx + esi + 1]
and edx, 0x1f
and ebp, 0x3f
cmp bl, 0xdf
jbe 0x43682f
movzx edi, byte [ecx + esi + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp bl, 0xf0
jb 0x436838
movzx ecx, byte [ecx + esi + 3]
and edx, 7
shl edi, 6
shl edx, 0x12
and ecx, 0x3f
or ecx, edi
or ecx, edx
cmp ecx, 0x110000
je 0x4367c4
jmp 0x43683f
shl edx, 6
or edx, ebp
mov ecx, edx
jmp 0x43683f
shl edx, 0xc
or edi, edx
mov ecx, edi
mov edx, 1
cmp ecx, 0x80
mov dword [esp + 8], ecx
jb 0x43686b
mov edx, 2
cmp ecx, 0x800
jb 0x43686b
cmp ecx, 0x10000
mov edx, 4
sbb edx, 0
add edx, esi
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x5c]
lea esi, [esp + 0x54]
mov dword [esp + 0xc], 0x43a168
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0
mov dword [esp + 0x58], edx
lea edx, [esp + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], 0x40fdf0
mov dword [esp + 0x2c], edx
mov edx, esp
mov dword [esp + 0x30], 0x413960
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0x413b60
lea esi, [esp + 0x4c]
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x24]
mov dword [esp + 0x40], 0x411510
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0x411510
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 5
lea ecx, [esp + 0xc]
mov edx, eax
call fcn.00436290
ud2