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

Disassembly:
mov esi, dword [esp + 0x3bc]
push 0x104
lea ecx, [esp + 0x24]
call 0x5bbb3c
mov ecx, dword [esp + 0x1c]
mov edi, eax
push 0x104
push edi
push ecx
push esi
mov dword [esp + 0x28], edi
call dword [0x5974d0]
lea edx, [esp + 0x26c]
push edx
push edi
call fcn.0048d650
add esp, 8
test eax, eax
je 0x4ab63e
mov eax, dword [ebx + 0x70]
mov dword [esp + 0x10], ebp
cmp eax, ebp
jle 0x4ab2c6
mov ebp, dword [ebx + 0x6c]
add ebp, 0x110
mov esi, edi
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4ab2a5
test cl, cl
je 0x4ab2a1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4ab2a5
add eax, 2
add esi, 2
test cl, cl
jne 0x4ab281
xor eax, eax
jmp 0x4ab2aa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4ab2c4
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x70]
inc eax
add ebp, 0x238
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4ab27d
xor ebp, ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x70]
cmp eax, ecx
jne 0x4ab63e
mov edi, 0x5fe7d8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x144]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5fe7d8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x26c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test al, 0x10
mov dword [esp + 0x254], ebp
mov dword [esp + 0x258], ebp
mov dword [esp + 0x264], ebp
je 0x4ab351
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x24c], ebp
jmp 0x4ab373
mov ecx, dword [esp + 0x288]
mov eax, dword [esp + 0x28c]
shl ecx, 0x20
or ecx, eax
mov dword [esp + 0x3c], 1
mov dword [esp + 0x24c], ecx
mov edi, dword [esp + 0x18]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x144]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x250], ebp
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x298]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0x64]
and ecx, 3
cmp eax, ebp
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x34], ebp
je 0x4ab63e
mov ecx, dword [eax + 0x65c]
xor edi, edi
mov dword [esp + 0x258], ecx
inc ecx
mov dword [eax + 0x65c], ecx
mov eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x6c]
mov ebp, eax
mov dword [esp + 0x28], ebp
inc ebp
cmp ebp, edi
jne 0x4ab41f
cmp ecx, edi
je 0x4ab414
push ecx
mov dword [esp + 0x18], eax
call 0x5bab2c
add esp, 4
mov dword [ebx + 0x6c], edi
mov dword [ebx + 0x74], edi
mov dword [ebx + 0x70], edi
jmp 0x4ab61f
cmp ecx, edi
jne 0x4ab491
lea esi, [ebp + ebp*8]
shl esi, 3
sub esi, ebp
shl esi, 3
push esi
call 0x5bab03
mov ecx, esi
mov edi, eax
xor eax, eax
mov dword [ebx + 0x6c], edi
shr ecx, 2
mov edx, edi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, esi
mov dword [esp + 0x10], edx
and ecx, 3
lea esi, [ebp]
rep stosb byte es:[edi], al
mov dword [esp + 0x14], edx
test edx, edx
mov byte [esp + 0x3b4], 1
je 0x4ab471
mov ecx, edx
call fcn.00475f40
mov edx, dword [esp + 0x10]
add edx, 0x238
dec esi
mov byte [esp + 0x3b4], 0
mov dword [esp + 0x10], edx
jne 0x4ab456
mov dword [ebx + 0x74], ebp
mov dword [ebx + 0x70], ebp
jmp 0x4ab61f
mov esi, dword [ebx + 0x74]
cmp ebp, esi
jg 0x4ab520
cmp eax, ebp
jge 0x4ab510
lea esi, [eax + eax*8]
mov edx, ebp
shl esi, 3
sub esi, eax
sub edx, eax
xor eax, eax
lea edi, [ecx + esi*8]
lea ecx, [edx + edx*8]
shl ecx, 3
sub ecx, edx
mov dword [esp + 0x10], edi
shl ecx, 3
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, edx
dec edx
test ecx, ecx
je 0x4ab518
mov esi, dword [esp + 0x10]
lea edi, [edx + 1]
mov dword [esp + 0x14], esi
test esi, esi
mov byte [esp + 0x3b4], 2
je 0x4ab4f3
mov ecx, esi
call fcn.00475f40
add esi, 0x238
dec edi
mov byte [esp + 0x3b4], 0
mov dword [esp + 0x10], esi
jne 0x4ab4dc
mov dword [ebx + 0x70], ebp
jmp 0x4ab61f
jle 0x4ab518
sub eax, ebp
mov dword [esp + 0x14], eax
mov dword [ebx + 0x70], ebp
jmp 0x4ab61f
mov ecx, dword [ebx + 0x78]
cmp ecx, edi
jne 0x4ab54b
cdq
and edx, 7
add eax, edx
mov ecx, eax
sar ecx, 3
cmp ecx, 4
jge 0x4ab53e
mov ecx, 4
jmp 0x4ab54b
cmp ecx, 0x400
jle 0x4ab54b
mov ecx, 0x400
lea eax, [esi + ecx]
cmp ebp, eax
jl 0x4ab554
mov eax, ebp
lea edx, [eax + eax*8]
mov dword [esp + 0x18], eax
shl edx, 3
sub edx, eax
shl edx, 3
push edx
call 0x5bab03
mov edx, dword [ebx + 0x70]
mov esi, dword [ebx + 0x6c]
mov dword [esp + 0x14], eax
mov edi, eax
lea ecx, [edx + edx*8]
add esp, 4
shl ecx, 3
sub ecx, edx
mov edx, ebp
shl ecx, 3
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x70]
sub edx, eax
lea ecx, [eax + eax*8]
shl ecx, 3
sub ecx, eax
mov eax, dword [esp + 0x10]
lea esi, [eax + ecx*8]
lea ecx, [edx + edx*8]
shl ecx, 3
sub ecx, edx
xor eax, eax
shl ecx, 3
mov ebx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
mov dword [esp + 0x14], esi
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, edx
dec edx
test ecx, ecx
je 0x4ab5fe
lea edi, [edx + 1]
mov dword [esp + 0x30], esi
test esi, esi
mov byte [esp + 0x3b4], 3
je 0x4ab5e9
mov ecx, esi
call fcn.00475f40
add esi, 0x238
dec edi
mov byte [esp + 0x3b4], 0
mov dword [esp + 0x14], esi
jne 0x4ab5d2
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0x6c]
push eax
call 0x5bab2c
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [ebx + 0x6c], edx
mov dword [ebx + 0x70], ebp
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x28]
mov edx, dword [ebx + 0x6c]
lea esi, [esp + 0x34]
lea ecx, [eax + eax*8]
shl ecx, 3
sub ecx, eax
xor ebp, ebp
lea edi, [edx + ecx*8]
mov ecx, 0x8e
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x4ab223
sti
invalid
invalid
mov esi, dword [esp + 0x3bc]
pop edi
push esi
call dword [0x5974d4]
mov ecx, ebx
call fcn.004ab6a0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x3b0], 0xffffffff
call 0x5bb70c
mov ecx, dword [esp + 0x3a8]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3a8
ret 4