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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x623e62
sub esp, 0x40
movzx edx, byte [esp + 0x6c]
test dl, dl
je 0x623bb7
mov eax, 6
jmp 0x623bbc
mov eax, 4
mov ecx, eax
mov ebx, 1
shl ebx, cl
lea ebp, [eax - 0x20]
mov ecx, ebp
mov esi, 1
shl esi, cl
neg ecx
mov edi, 1
shr edi, cl
cmp al, 0x20
sbb eax, eax
and ebx, eax
cmp cl, 0x20
sbb eax, eax
and edi, eax
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and esi, ebp
or edi, esi
mov ebp, ebx
add ebx, 0xffffffff
mov esi, edi
adc edi, 0xffffffff
mov edx, dword [esp + 0x68]
cmp edx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
setb cl
mov edx, dword [esp + 0x64]
cmp ebx, edx
seta al
and edi, eax
or ecx, edi
test cl, cl
jne 0x623cbc
mov eax, dword [esp + 0x48]
lea edi, [eax + 1]
mov ecx, esi
mov esi, dword [esp + 0x4c]
cmp esi, edi
jb 0x623c45
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
jmp 0x623c9d
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov esi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov byte [edi + edx - 1], bl
mov ebx, dword [esp + 0x64]
sub ebx, ebp
mov ebp, dword [esp + 0x68]
sbb ebp, ecx
add ebx, 1
adc ebp, 0
jmp 0x623db1
mov eax, dword [esp + 0x48]
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x4c]
cmp ebp, ebx
jb 0x623cd1
mov ecx, dword [esp + 0x44]
jmp 0x623d0f
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x48]
mov byte [ebx + ecx - 1], dl
movzx edx, byte [esp + 0x60]
test dl, dl
je 0x623d23
mov edx, 0x10
jmp 0x623d35
movzx edx, byte [esp + 0x6c]
test dl, dl
je 0x623d33
mov edx, 0x40
jmp 0x623d35
xor edx, edx
cmp eax, ebx
jae 0x623d82
movzx esi, byte [ecx + eax]
or esi, edx
xchg esi, ebx
mov byte [ecx + eax], bl
xchg esi, ebx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00623e70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
add esp, 0x40
ret
mov ecx, ebx
call fcn.0046c910
mov eax, ebx
shr eax, 7
mov ecx, dword [esp + 0x28]
mov edi, ecx
shl ecx, 0x19
and ebx, 0x7f
or ebx, 0x80
mov byte [ebp + edx - 1], bl
or ecx, eax
shr edi, 7
mov ebx, ecx
mov eax, ebp
mov ebp, edi
mov edi, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebx
test ebp, ebp
seta cl
sete al
cmp ebx, 0x80
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ebp, eax
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x623e16
lea ebp, [edi + 1]
cmp esi, ebp
jae 0x623d89
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x623d89
lea ebp, [edi + 1]
cmp esi, ebp
jae 0x623e4f
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov byte [ebp + edx - 1], bl
mov eax, dword [esp + 0x48]
mov ebx, ebp
mov ecx, edx
mov ebp, esi
jmp 0x623d13
call fcn.0046b490
jmp fcn.00623b90