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

Disassembly:
sub esp, 0x4c
mov eax, dword [ecx + 8]
push ebx
xor ebx, ebx
cmp eax, 0x7dc
push ebp
mov dword [esp + 8], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x40], 1
jb 0x348bb2e7
cmp eax, 4
jb 0x348bb2e7
mov ebp, dword [ecx]
cmp ebp, ebx
je 0x348bb2e7
mov al, byte [ebp]
cmp al, 0xff
ja 0x348bb2e7
movzx edx, al
add edx, 7
shr edx, 3
cmp edx, 0xffffffff
jne 0x348bb316
mov ecx, dword [esp + 0x68]
push 1
push 0xfffffb4a
call fcn.348a7e01
test dword [esp + 0x40], 0xfffffffe
je 0x348bb64c
lea ecx, [esp + 0x40]
call fcn.348a7dd0
pop ebp
pop ebx
add esp, 0x4c
ret 0x14
mov eax, dword [ecx + 4]
mov ecx, eax
sub ecx, edx
add ecx, ebp
cmp dword [esp + 0x60], ebx
push esi
push edi
mov dword [esp + 0x38], ecx
jne 0x348bb340
sub eax, edx
xor esi, esi
sub eax, 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x2c], ebx
jmp 0x348bb3aa
movzx ebx, byte [ecx - 1]
add ecx, 0xffffffff
lea esi, [eax + 0xff]
shr esi, 8
mov edi, ecx
mov dword [esp + 0x24], ecx
sub edi, esi
add ebx, 1
mov ecx, 1
cmp esi, ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], ebx
jbe 0x348bb386
mov ebx, dword [esp + 0x24]
add ebx, 0xffffffff
cmp byte [ebx], 0
jne 0x348bb382
add ecx, 1
sub ebx, 1
cmp ecx, esi
jb 0x348bb373
mov ebx, dword [esp + 0x28]
movzx edi, byte [edi]
add ecx, 0xffffffff
shl ecx, 8
lea ecx, [ecx + edi - 1]
sub eax, ecx
sub eax, ebx
sub eax, esi
sub eax, edx
sub eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x68], ecx
mov eax, ecx
xor ebx, ebx
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jae 0x348bb3b8
mov dword [esp + 0x60], eax
mov ecx, eax
mov eax, dword [esp + 0x64]
add eax, 7
shr eax, 3
cmp eax, 0xff
jbe 0x348bb3d2
or edi, 0xffffffff
mov dword [esp + 0x1c], edi
jmp 0x348bb3d8
mov dword [esp + 0x1c], eax
mov edi, eax
mov eax, dword [esp + 0x6c]
cmp eax, ebx
jne 0x348bb3ee
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], ebx
lea eax, [edi + ecx + 1]
jmp 0x348bb418
add eax, 1
mov dword [esp + 0x34], eax
add eax, edi
add eax, dword [esp + 0x2c]
lea eax, [eax + ecx + 1]
lea ecx, [eax + 0xff]
shr ecx, 8
lea ecx, [ecx + eax + 0xff]
shr ecx, 8
mov dword [esp + 0x18], ecx
add eax, ecx
mov ecx, dword [esp + 0x10]
sub ebp, edi
mov edi, dword [esp + 0x70]
push edi
push edx
mov edx, dword [esp + 0x40]
add ebp, eax
lea ebx, [ebp - 1]
push edx
mov dword [esp + 0x20], ebx
sub ebx, dword [esp + 0x24]
push ebp
mov dword [esp + 0x30], eax
call fcn.348bb211
test byte [edi], 8
jne 0x348bb637
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
movzx ebp, byte [edx]
cmp ebp, dword [esp + 0x64]
jae 0x348bb486
lea ebx, [ebx]
lea eax, [esp + 0x48]
push eax
push ebp
lea ecx, [esp + 0x44]
call fcn.34897f75
add ebp, 1
cmp ebp, dword [esp + 0x64]
jb 0x348bb46e
cmp dword [esp + 0x6c], 0
jbe 0x348bb624
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
push edi
sub eax, esi
push esi
add eax, 1
sub ebp, esi
push eax
lea ecx, [ebp + 1]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.348bb211
test byte [edi], 8
jne 0x348bb637
mov ecx, dword [esp + 0x68]
add ecx, 1
shr ecx, 8
add ecx, 1
cmp esi, ecx
mov eax, esi
jae 0x348bb4e2
mov edi, edi
cmp eax, dword [esp + 0x18]
jae 0x348bb4fd
mov byte [ebp], 0
add eax, 1
sub ebp, 1
cmp eax, ecx
jb 0x348bb4ce
mov edx, dword [esp + 0x18]
cmp eax, edx
jae 0x348bb4fd
mov ecx, dword [esp + 0x14]
sub ecx, eax
sub edx, eax
mov byte [ecx], 0xff
sub ecx, 1
sub edx, 1
jne 0x348bb4f2
mov dl, byte [esp + 0x6c]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov byte [eax], dl
mov eax, dword [esp + 0x30]
push edi
mov ecx, ebx
sub ecx, ebp
sub eax, ebp
push ebp
mov dword [esp + 0x78], ecx
add eax, 1
add ecx, 1
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.348bb211
test byte [edi], 8
jne 0x348bb637
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
cmp edx, ecx
je 0x348bb5fe
mov eax, edx
sub eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x2c]
push edi
push ecx
mov ecx, dword [esp + 0x70]
lea ecx, [eax + ecx + 1]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [eax + edx + 1]
push edx
call fcn.348bb211
test byte [edi], 8
jne 0x348bb637
mov eax, 1
cmp esi, eax
jbe 0x348bb598
mov ecx, dword [esp + 0x14]
add ecx, 0xffffffff
cmp byte [ecx], 0
jne 0x348bb598
add eax, 1
sub ecx, 1
cmp eax, esi
jb 0x348bb589
lea ecx, [eax - 1]
movzx eax, byte [ebx]
shl ecx, 8
add ecx, dword [esp + 0x6c]
xor esi, esi
add eax, ecx
xor edx, edx
test ebp, ebp
mov dword [esp + 0x60], eax
jbe 0x348bb5fe
mov edi, ebx
lea esp, [esp]
mov ecx, eax
shr ecx, 8
cmp esi, ecx
jae 0x348bb5d9
mov eax, dword [esp + 0x14]
sub ecx, esi
sub eax, esi
add esi, ecx
sub eax, 1
sub ecx, 1
mov byte [eax], dl
jne 0x348bb5cb
mov eax, dword [esp + 0x60]
lea ecx, [ebp - 1]
cmp edx, ecx
jae 0x348bb5ee
mov cl, byte [edi - 1]
sub cl, byte [edi]
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x60], eax
mov cl, byte [esp + 0x6c]
add byte [edi], cl
add edx, 1
sub edi, 1
cmp edx, ebp
jb 0x348bb5b8
mov edx, dword [esp + 0x34]
cmp ebp, edx
jae 0x348bb624
mov al, byte [esp + 0x20]
sub al, byte [esp + 0x1c]
mov ecx, dword [esp + 0x70]
sub al, dl
sub al, byte [esp + 0x18]
sub edx, ebp
mov byte [ecx], al
sub ecx, 1
sub edx, 1
jne 0x348bb61a
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov cl, byte [esp + 0x64]
mov byte [edx], cl
mov edx, dword [esp + 0x20]
mov dword [eax + 4], edx
test dword [esp + 0x48], 0xfffffffe
je 0x348bb64a
lea ecx, [esp + 0x48]
call fcn.348a7dd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x14