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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov eax, dword [0x5f3418]
xor eax, ebp
mov dword [esp + 0x78], eax
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
pxor xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
mov edi, dword [ecx + 0x1c]
test edi, edi
jne 0x4bb895
lea ecx, [esp + 0x60]
call fcn.004bc5d0
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.00512ee3
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov esi, ecx
lea ebx, [esp + 0x20]
movdqa xmmword [ebx + 0x20], xmm0
movdqa xmmword [ebx + 0x10], xmm0
movdqa xmmword [ebx], xmm0
lea ecx, [esp + 0x60]
push ebx
call fcn.0054aa30
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x4bb8c7
mov dword [esp + 0x40], eax
push eax
call fcn.0050fc7c
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4bb8dc
mov dword [esp + 0x34], eax
push eax
call fcn.0050fc7c
add esp, 4
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
lea ebx, [eax + edx]
dec ebx
mov eax, ebx
shr eax, 1
mov edx, 0xd20d20d3
mul edx
shr edx, 5
mov eax, dword [ecx + edx*4]
imul ecx, edx, 0x4e
sub ebx, ecx
imul ecx, ebx, 0x34
mov dword [eax + ecx], 0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
add ecx, eax
dec ecx
mov eax, ecx
shr eax, 1
mov edx, 0xd20d20d3
mul edx
mov eax, dword [esp + 0x64]
shr edx, 5
mov eax, dword [eax + edx*4]
imul edx, edx, 0x4e
sub ecx, edx
imul ecx, ecx, 0x34
mov edx, dword [ebp + 8]
mov dword [eax + ecx + 4], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
lea ebx, [eax + edx]
dec ebx
mov eax, ebx
shr eax, 1
mov edx, 0xd20d20d3
mul edx
shr edx, 5
mov eax, dword [ecx + edx*4]
imul ecx, edx, 0x4e
sub ebx, ecx
imul ecx, ebx, 0x34
mov edx, dword [ebp + 8]
mov dword [eax + ecx + 8], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
lea ebx, [eax + edx]
dec ebx
mov eax, ebx
shr eax, 1
mov edx, 0xd20d20d3
mul edx
shr edx, 5
mov eax, dword [ecx + edx*4]
imul ecx, edx, 0x4e
sub ebx, ecx
imul ecx, ebx, 0x34
mov edx, dword [ebp + 0xc]
mov dword [eax + ecx + 0xc], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
add ecx, eax
dec ecx
mov eax, ecx
shr eax, 1
mov edx, 0xd20d20d3
mul edx
mov eax, dword [esp + 0x64]
shr edx, 5
mov eax, dword [eax + edx*4]
imul edx, edx, 0x4e
sub ecx, edx
imul ecx, ecx, 0x34
mov esi, dword [esi + 0x14]
mov edx, dword [eax + ecx + 0x1c]
mov ebx, dword [eax + ecx + 0x20]
mov dword [esp + 8], edx
sub ebx, edx
sar ebx, 3
mov edx, esi
mov dword [esp + 0x1c], esi
sub esi, ebx
ja 0x4bbdd1
jae 0x4bb9f9
add eax, ecx
add eax, 0x20
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
lea ecx, [edx + ecx*8]
mov dword [eax], ecx
lea esi, [esp + 0x60]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
add ecx, eax
dec ecx
mov eax, ecx
shr eax, 1
mov ebx, 0xd20d20d3
mul ebx
shr edx, 5
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
imul edx, edx, 0x4e
sub ecx, edx
imul ecx, ecx, 0x34
mov dword [eax + ecx + 0x28], edi
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
add ecx, eax
dec ecx
mov eax, ecx
shr eax, 1
mul ebx
shr edx, 5
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
imul edx, edx, 0x4e
sub ecx, edx
imul ecx, ecx, 0x34
mov edx, dword [ebp + 0x14]
mov dword [eax + ecx + 0x2c], edx
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
add ecx, eax
dec ecx
mov eax, ecx
shr eax, 1
mul ebx
shr edx, 5
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
imul edx, edx, 0x4e
sub ecx, edx
imul ecx, ecx, 0x34
mov dl, byte [ebp + 0x18]
mov byte [eax + ecx + 0x30], dl
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
xor ecx, ecx
inc ecx
test ecx, 0xfff
jne 0x4bbaa8
mov eax, ecx
shr eax, 0xc
cmp eax, dword [esp + 0x14]
jge 0x4bbde1
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
lea esi, [eax + edx]
dec esi
mov eax, esi
shr eax, 1
mov edx, 0xd20d20d3
mul edx
shr edx, 5
mov edi, dword [ecx + edx*4]
imul eax, edx, 0x4e
sub esi, eax
imul esi, esi, 0x34
lea edx, [edi + esi]
mov ebx, dword [edi + esi + 0x28]
test ebx, ebx
je 0x4bbb06
mov eax, dword [ebx]
mov dword [esp + 8], edi
mov edi, dword [eax + 4]
mov ecx, edi
mov dword [esp + 0x18], esi
mov esi, edx
call dword [section..00cfg]
mov ecx, ebx
push esi
call edi
mov edx, esi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 8]
mov eax, dword [edx]
mov ecx, 0x3e8
add eax, ecx
cmp eax, 9
ja case.0x4bbb18.2
jmp dword [eax*4 + 0x4bbdf4]
mov eax, dword [edi + esi + 8]
mov ecx, dword [ebp + 0x14]
test cl, 0x20
je 0x4bbb34
cmp eax, dword [ebp + 8]
je case.0x4bbb18.7
bt dword [ebp + 0x14], 0xc
jae 0x4bbb44
cmp eax, dword [ebp + 0xc]
jne case.0x4bbb18.7
sub eax, dword [edi + esi + 4]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
cmovl ecx, eax
test byte [esp + 0x10], 1
cmove ecx, eax
cmp ecx, dword [esp + 0x14]
jne 0x4bbd7c
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
cmp edi, esi
je 0x4bbc12
mov ebx, dword [esp + 0x70]
mov eax, ebx
shr eax, 1
mov ecx, 0xd20d20d3
mul ecx
mov ecx, edx
shr ecx, 5
imul eax, ecx, 0x4e
mov dword [esp + 0x18], eax
mov dword [esp + 8], ebx
add ebx, dword [esp + 0x74]
mov eax, ebx
shr eax, 1
mov edx, 0xd20d20d3
mul edx
mov eax, dword [esp + 0x18]
sub dword [esp + 8], eax
shr edx, 5
imul eax, edx, 0x4e
sub ebx, eax
imul eax, ebx, 0x34
add eax, dword [esi + edx*4]
imul ebx, dword [esp + 8], 0x34
add ebx, dword [esi + ecx*4]
cmp ebx, eax
je 0x4bbc14
mov edx, eax
lea esi, [esi + ecx*4]
mov edi, eax
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x4bbbdd
mov dword [ebx + 0x20], eax
push eax
call fcn.0050fc7c
add esp, 4
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4bbbf0
mov dword [ebx + 0x14], eax
push eax
call fcn.0050fc7c
add esp, 4
add ebx, 0x34
mov eax, ebx
sub eax, dword [esi]
cmp eax, 0xfd8
jne 0x4bbc04
mov ebx, dword [esi + 4]
add esi, 4
cmp ebx, edi
jne 0x4bbbca
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
jmp 0x4bbc14
mov edi, esi
mov dword [esp + 0x74], 0
sub edi, esi
cmp edi, 9
jb 0x4bbc43
push dword [esi]
call fcn.0050fc7c
add esp, 4
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
add esi, 4
mov dword [esp + 0x64], esi
sub edi, esi
cmp edi, 8
ja 0x4bbc23
shr edi, 2
mov al, 1
cmp edi, 2
je 0x4bbc60
mov dword [esp + 0x10], eax
cmp edi, 1
jne 0x4bbc6c
mov dword [esp + 0x70], 0x27
jmp 0x4bbc6c
mov dword [esp + 0x10], eax
mov dword [esp + 0x70], 0x4e
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
jmp case.0x4bbb18.1
lea ecx, [esp + 0x60]
jmp 0x4bbc8a
lea esi, [esp + 0x60]
mov ecx, esi
push edx
call fcn.0054ab50
mov ecx, esi
call fcn.0054ab00
cmp dword [esp + 0x74], 0
mov ecx, dword [esp + 0x1c]
jne 0x4bba90
jmp 0x4bbd94
lea eax, [edi + esi]
add eax, 0x28
mov dword [esp + 0x18], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x50], 0xffffffff
movups xmm0, xmmword [edx]
movaps xmmword [esp + 0x20], xmm0
lea eax, [edi + esi + 0x10]
lea ebx, [esp + 0x30]
mov ecx, ebx
push eax
mov dword [esp + 0xc], edx
call fcn.0054a940
lea eax, [edi + esi]
add eax, 0x1c
lea ecx, [esp + 0x3c]
push eax
call fcn.0054a9c0
mov ecx, dword [esp + 0x18]
movq xmm0, qword [ecx]
movq qword [ebx + 0x18], xmm0
mov al, byte [ecx + 8]
mov byte [ebx + 0x20], al
mov edi, dword [ecx]
mov eax, dword [edi]
mov ebx, dword [eax + 8]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push dword [esp + 8]
push 1
call ebx
mov edi, dword [esp + 0x48]
mov eax, dword [edi]
mov ebx, dword [eax + 8]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
lea esi, [esp + 0x20]
push esi
push 0
call ebx
lea ecx, [esp + 0x60]
push esi
call fcn.0054aa30
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4bbd5e
mov dword [esp + 0x40], eax
push eax
call fcn.0050fc7c
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je case.0x4bbb18.1
mov dword [esp + 0x34], eax
push eax
call fcn.0050fc7c
add esp, 4
jmp case.0x4bbb18.1
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x60]
call fcn.0054ab00
mov al, 1
mov dword [esp + 0x10], eax
jmp case.0x4bbb18.1
test byte [esp + 0x10], 1
jne 0x4bbda2
xor ebx, ebx
jmp 0x4bb875
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
cmp dword [edx + 4], eax
je 0x4bbdeb
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [edx]
cmp dword [edx + 4], eax
je 0x4bbdee
add ecx, dword [esp + 0xc]
mov dword [eax + 4], ecx
mov eax, dword [edx]
cmp dword [edx + 4], eax
je 0x4bbdf1
mov byte [eax + 8], 1
mov bl, 1
jmp 0x4bb875
add ecx, eax
add ecx, 0x1c
push esi
call fcn.0054a820
jmp 0x4bb9f9
call fcn.00549f00
call fcn.00549f00
int3
int3
int3