Function at 0x570b30
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 ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
cmp esi, 0x101
jae 0x570b77
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], str.0infNaNassertion_failed:_buf.len_____maxlent
xor ebx, ebx
mov eax, dword [esp + 0x84]
cmp edi, esi
mov dword [esp + 0xc], ebx
jbe 0x570bb2
jmp 0x570c29
mov eax, 0x100
nop dword [eax]
cmp byte [edx + eax], 0xc0
jge 0x570c98
dec eax
jne 0x570b80
xor ebx, ebx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov ebx, 5
mov dword [esp + 8], str._..._byte_index__is_out_of_bounds_of__
mov eax, dword [esp + 0x84]
cmp edi, esi
mov dword [esp + 0xc], ebx
ja 0x570c29
cmp ecx, esi
ja 0x570c29
cmp edi, ecx
jbe 0x570ca9
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x80]
mov edx, esp
mov dword [esp + 0x18], 0x5faa0c
mov dword [esp + 0x1c], 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], fcn.00509920
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], fcn.00509920
mov dword [esp + 0x40], edx
lea edx, [esp + 0x30]
lea esi, [esp + 8]
mov dword [esp + 0x44], 0x50a260
mov dword [esp + 0x48], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x4c], 0x50a260
mov dword [esp + 0x2c], 4
jmp 0x570c88
cmp edi, esi
lea esi, [esp + 0x58]
mov edx, esp
mov dword [esp + 0x18], 0x5fa9d0
mov dword [esp + 0x1c], 3
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], esi
cmova ecx, edi
mov dword [esp + 0x34], fcn.00509920
mov dword [esp + 0x38], edx
lea edx, [esp + 0x30]
lea esi, [esp + 8]
mov dword [esp + 0x3c], 0x50a260
mov dword [esp + 0x40], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x44], 0x50a260
mov dword [esp + 0x2c], 3
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.00570860
add esp, 8
ud2
cmp eax, esi
jae 0x570ccd
cmp byte [edx + eax], 0xbf
jle 0x570cd7
mov ebx, eax
jmp 0x570b8f
test edi, edi
jne 0x570ceb
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x570d27
xor ecx, ecx
cmp ecx, esi
jne 0x570cf7
push eax
push 0x2b
push 0x5fa1a1
call fcn.005707b0
add esp, 0xc
ud2
cmp esi, eax
mov ebx, esi
je 0x570b8f
push 0x5fa888
push eax
push 0
push esi
push edx
call fcn.00570b30
add esp, 0x14
ud2
cmp edi, esi
jae 0x570d0f
cmp byte [edx + edi], 0xbf
jg 0x570cad
jmp 0x570d13
mov bl, byte [edx + ecx]
movzx esi, bl
test bl, bl
js 0x570d41
mov dword [esp + 0x14], esi
mov esi, 1
jmp 0x570dd2
cmp esi, edi
je 0x570cad
mov ecx, edi
mov dword [esp + 0x10], edi
jmp 0x570d27
cmp esi, ecx
je 0x570cbb
dec ecx
je 0x570cb5
cmp ecx, esi
jae 0x570d20
cmp byte [edx + ecx], 0xc0
jl 0x570d24
cmp ecx, esi
jae 0x570d8f
cmp byte [edx + ecx], 0xbf
jg 0x570cb7
jmp 0x570d97
movzx ebp, byte [edx + ecx + 1]
and esi, 0x1f
and ebp, 0x3f
cmp bl, 0xdf
jbe 0x570d86
movzx edi, byte [edx + ecx + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp bl, 0xf0
jb 0x570d9f
movzx edx, byte [edx + ecx + 3]
and esi, 7
shl edi, 6
shl esi, 0x12
and edx, 0x3f
or edx, edi
or edx, esi
cmp edx, 0x110000
je 0x570cbb
jmp 0x570da6
shl esi, 6
or esi, ebp
mov edx, esi
jmp 0x570da6
cmp esi, ecx
je 0x570cbb
push eax
push esi
push ecx
jmp 0x570cdf
shl esi, 0xc
or edi, esi
mov edx, edi
mov esi, 1
cmp edx, 0x80
mov dword [esp + 0x14], edx
jb 0x570dd2
mov esi, 2
cmp edx, 0x800
jb 0x570dd2
cmp edx, 0x10000
mov esi, 4
sbb esi, 0
add esi, ecx
mov dword [esp + 0x58], ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x18], 0x5faa60
mov dword [esp + 0x1c], 5
mov dword [esp + 0x20], 0
mov dword [esp + 0x5c], esi
lea esi, [esp + 0x10]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], fcn.00509920
mov dword [esp + 0x38], edx
lea esi, [esp + 0x58]
mov edx, esp
mov dword [esp + 0x3c], 0x506680
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0x503d10
mov dword [esp + 0x48], edx
lea edx, [esp + 0x30]
lea esi, [esp + 8]
mov dword [esp + 0x4c], 0x50a260
mov dword [esp + 0x50], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x54], 0x50a260
mov dword [esp + 0x2c], 5
jmp 0x570c88