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

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
mov esi, eax
mov edx, dword [esi + 4]
push edi
mov edi, dword [esi]
mov eax, edi
and eax, 0x1fffffff
mov dword [esp + 0x20], eax
mov eax, edi
mov cl, 0x20
call fcn.00554e40
mov ecx, dword [esi + 8]
and eax, 0x1ffffff
add eax, eax
add eax, eax
add eax, eax
shr edi, 0x1d
or eax, edi
and ecx, 0xfffffff
add eax, ecx
mov ebx, eax
shr ebx, 0x1c
and eax, 0xfffffff
mov dword [esp + 0x24], eax
mov edi, 2
mov ebp, esi
mov dword [esp + 0x10], esi
mov eax, dword [esi + edi*8 - 8]
mov edx, dword [esi + edi*8 - 4]
mov cl, 0x20
call fcn.00554e40
mov edx, dword [ebp + 4]
and eax, 0x1ffffff
shl eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [ebp]
mov cl, 0x20
call fcn.00554e40
mov edx, dword [esi + edi*8]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
shr eax, 0x19
add ecx, eax
mov eax, dword [esi + edi*8 - 8]
and edx, 0x1fffffff
add edx, ebx
shr eax, 0x1c
add edx, ecx
lea ebx, [eax + edx]
mov dword [esp + edi*4 + 0x20], ebx
and dword [esp + edi*4 + 0x20], 0x1fffffff
inc edi
add ebp, 8
shr ebx, 0x1d
mov dword [esp + 0x10], ebp
cmp edi, 0x11
je 0x53d774
mov eax, dword [esi + edi*8 - 8]
mov edx, dword [esi + edi*8 - 4]
mov cl, 0x20
call fcn.00554e40
mov edx, dword [ebp + 4]
and eax, 0x1ffffff
mov dword [esp + 0x14], eax
mov eax, dword [ebp]
mov cl, 0x20
call fcn.00554e40
mov edx, dword [esi + edi*8]
mov ecx, dword [esp + 0x14]
shr eax, 0x19
and edx, 0xfffffff
lea ecx, [eax + ecx*8]
mov eax, dword [esi + edi*8 - 8]
add edx, ebx
shr eax, 0x1d
add edx, ecx
lea ebx, [eax + edx]
mov dword [esp + edi*4 + 0x20], ebx
and dword [esp + edi*4 + 0x20], 0xfffffff
inc edi
add ebp, 8
shr ebx, 0x1c
mov dword [esp + 0x10], ebp
cmp edi, 0x11
jb 0x53d6a6
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
mov cl, 0x20
call fcn.00554e40
mov edx, dword [esi + 0x84]
mov edi, eax
mov eax, dword [esi + 0x80]
mov cl, 0x20
shr edi, 0x19
call fcn.00554e40
mov ecx, dword [esi + 0x80]
xor esi, esi
mov dword [esp + 0x10], esi
add edi, ebx
lea edx, [edi + eax*8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], esi
shr ecx, 0x1d
add ecx, edx
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x64], ecx
mov ecx, eax
and eax, 0x1fffffff
mov esi, eax
and esi, 0x3ffff
shl esi, 0xa
add dword [esp + 0x2c], esi
mov esi, eax
shr esi, 0x12
add dword [esp + 0x30], esi
movzx esi, al
shl esi, 0x15
add dword [esp + 0x38], esi
shr ecx, 0x1d
add dword [esp + 0x24], ecx
lea edx, [eax - 1]
mov ecx, edx
mov esi, eax
shr esi, 8
add edi, esi
shr ecx, 0x1f
dec ecx
and edx, ecx
mov esi, ecx
and esi, 0x10000000
add edi, esi
mov esi, dword [esp + 0x40]
add esi, edx
mov edx, eax
and edx, 0xf
shl edx, 0x18
sub edi, edx
mov edx, eax
shr edx, 4
sub esi, edx
mov edx, ecx
and edx, 0x20000000
add esi, edx
sub esi, eax
mov edx, eax
shr eax, 1
dec eax
and edx, 1
and eax, ecx
add dword [esp + 0x44], eax
shl edx, 0x1c
add esi, edx
lea eax, [esp + 0x44]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], esi
lea ebx, [esp + 0x24]
lea ebp, [esp + 0x30]
lea edi, [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [esp + 0x14], eax
xor ecx, ecx
jmp 0x53d86d
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
mov edx, dword [ebx]
mov dword [ebx], 0
and eax, 0xfffffff
mov ebx, eax
and ebx, 0x3ffff
shl ebx, 0xb
add dword [ebp], ebx
shr edx, 0x1c
add dword [esp + ecx + 0x28], edx
mov ebx, eax
shr ebx, 0x12
add dword [esp + ecx + 0x34], ebx
lea edx, [eax - 1]
mov dword [esp + 0x18], edx
shr edx, 0x1f
dec edx
mov ebx, eax
and ebx, 0x7f
shl ebx, 0x15
add dword [edi], ebx
mov edi, edx
mov ebx, eax
and edi, 0x20000000
mov ebp, eax
shr ebx, 7
add edi, ebx
add dword [esi], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
and edi, edx
add dword [ebx], edi
add dword [esp + ecx + 0x48], edi
and ebp, 0xf
shl ebp, 0x19
sub dword [esi], ebp
and edx, 0x10000000
mov esi, eax
shr esi, 4
sub edx, esi
sub edx, eax
add dword [ebx], edx
mov eax, dword [esp + 0x10]
add eax, 2
lea ecx, [esp + ecx + 0x48]
lea ecx, [eax*4]
mov edx, dword [esp + ecx + 0x20]
shr edx, 0x1d
add dword [esp + ecx + 0x24], edx
mov dword [esp + 0x10], eax
lea eax, [esp + ecx + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + ecx + 0x20]
and eax, 0x1fffffff
mov esi, eax
and esi, 0x3ffff
shl esi, 0xa
mov dword [esp + ecx + 0x20], 0
add dword [esp + ecx + 0x2c], esi
lea esi, [esp + ecx + 0x30]
mov dword [esp + 0x1c], esi
mov edi, eax
shr edi, 0x12
add dword [esi], edi
lea ebx, [eax - 1]
mov edx, ebx
movzx esi, al
shl esi, 0x15
add dword [esp + ecx + 0x38], esi
shr edx, 0x1f
dec edx
mov esi, edx
and esi, 0x10000000
mov ebp, eax
shr ebp, 8
add esi, ebp
add dword [esp + ecx + 0x3c], esi
lea edi, [esp + ecx + 0x3c]
lea esi, [esp + ecx + 0x40]
and ebx, edx
add dword [esi], ebx
mov ebx, eax
and ebx, 0xf
shl ebx, 0x18
sub dword [edi], ebx
mov ebx, eax
and ebx, 1
mov ebp, eax
shl ebx, 0x1c
shr ebp, 4
sub ebx, ebp
mov ebp, edx
and ebp, 0x20000000
add ebx, ebp
sub ebx, eax
add dword [esi], ebx
shr eax, 1
dec eax
and eax, edx
add dword [esp + ecx + 0x44], eax
mov eax, dword [esp + 0x10]
lea ebx, [esp + ecx + 0x44]
inc eax
mov dword [esp + 0x14], ebx
cmp eax, 9
jne 0x53d865
mov eax, dword [esp + 0x6c]
xor edx, edx
xor ecx, ecx
mov esi, dword [esp + ecx*4 + 0x48]
and esi, 1
shl esi, 0x1c
add esi, dword [esp + ecx*4 + 0x44]
inc ecx
add edx, esi
mov esi, dword [esp + ecx*4 + 0x44]
mov dword [eax + ecx*4 - 4], edx
and dword [eax + ecx*4 - 4], 0x1fffffff
shr edx, 0x1d
shr esi, 1
add edx, esi
mov dword [eax + ecx*4], edx
and dword [eax + ecx*4], 0xfffffff
inc ecx
shr edx, 0x1c
cmp ecx, 8
jb 0x53d9c3
mov ecx, dword [esp + 0x64]
add edx, ecx
mov dword [eax + 0x20], edx
shr edx, 0x1d
and dword [eax + 0x20], 0x1fffffff
lea ecx, [edx - 1]
shr ecx, 0x1f
dec ecx
lea esi, [edx + edx]
add dword [eax], esi
mov edi, edx
shl edi, 0xb
mov esi, ecx
and esi, 0x10000000
sub esi, edi
add dword [eax + 0xc], esi
mov edi, ecx
and edi, 0xfffffff
add dword [eax + 0x14], edi
mov esi, ecx
and esi, 0x1fffffff
add dword [eax + 0x10], esi
mov edi, edx
shl edi, 0x16
sub esi, edi
add dword [eax + 0x18], esi
pop edi
shl edx, 0x19
and ecx, 1
pop esi
sub edx, ecx
add dword [eax + 0x1c], edx
pop ebp
pop ebx
add esp, 0x58
ret