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

Disassembly:
sub esp, 0x68
mov eax, dword [0x1005d3b0]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
mov cl, 0x20
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x28], eax
mov esi, dword [edi]
mov eax, esi
mov edx, dword [edi + 4]
and eax, 0x1fffffff
mov dword [esp + 0x2c], eax
mov eax, esi
call fcn.1003d620
mov ecx, dword [edi + 8]
and eax, 0x1ffffff
shr esi, 0x1d
and ecx, 0xfffffff
shl eax, 3
mov ebx, 2
or eax, esi
mov ebp, edi
add eax, ecx
mov esi, eax
shr esi, 0x1c
and eax, 0xfffffff
mov dword [esp + 0x30], eax
jmp 0x10035297
mov edi, dword [esp + 0x80]
mov eax, dword [edi + ebx*8 - 8]
lea ecx, [edi - 8]
mov edx, dword [ecx + ebx*8 + 4]
mov dword [esp + 0x10], ecx
mov cl, 0x20
call fcn.1003d620
mov edx, dword [ebp + 4]
mov edi, eax
mov eax, dword [esp + 0x80]
and edi, 0x1ffffff
shl edi, 4
mov ecx, dword [eax + ebx*8]
mov eax, dword [ebp]
and ecx, 0x1fffffff
add edi, ecx
mov cl, 0x20
call fcn.1003d620
mov edx, dword [esp + 0x10]
shr eax, 0x19
add eax, esi
add eax, edi
mov esi, dword [edx + ebx*8]
shr esi, 0x1c
add esi, eax
mov dword [esp + ebx*4 + 0x2c], esi
and dword [esp + ebx*4 + 0x2c], 0x1fffffff
inc ebx
shr esi, 0x1d
cmp ebx, 0x11
je 0x10035361
mov eax, dword [edx + ebx*8]
mov cl, 0x20
mov edx, dword [edx + ebx*8 + 4]
call fcn.1003d620
mov ecx, dword [esp + 0x80]
and eax, 0x1ffffff
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + ebx*8]
and ecx, 0xfffffff
lea edi, [ecx + eax*8]
mov eax, dword [ebp + 8]
mov cl, 0x20
call fcn.1003d620
mov ecx, dword [esp + 0x10]
add ebp, 0x10
shr eax, 0x19
add eax, esi
add eax, edi
mov esi, dword [ecx + ebx*8]
shr esi, 0x1d
add esi, eax
mov dword [esp + ebx*4 + 0x2c], esi
and dword [esp + ebx*4 + 0x2c], 0xfffffff
inc ebx
shr esi, 0x1c
cmp ebx, 0x11
jb 0x10035290
mov ebx, dword [esp + 0x80]
mov cl, 0x20
mov eax, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
call fcn.1003d620
mov edx, dword [ebx + 0x84]
mov edi, eax
mov eax, dword [ebx + 0x80]
mov cl, 0x20
shr edi, 0x19
call fcn.1003d620
mov ecx, dword [ebx + 0x80]
add edi, esi
mov ebx, dword [esp + 0x2c]
shr ecx, 0x1d
mov edx, dword [esp + 0x4c]
lea eax, [edi + eax*8]
mov dword [esp + 0x2c], 0
add ecx, eax
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, ebx
shr eax, 0x1d
and ebx, 0x1fffffff
add dword [esp + 0x30], eax
mov eax, ebx
and eax, 0x3ffff
mov dword [esp + 0x70], ecx
shl eax, 0xa
add dword [esp + 0x38], eax
lea esi, [ebx - 1]
mov ecx, dword [esp + 0x48]
mov eax, ebx
shr eax, 0x12
mov edi, esi
add dword [esp + 0x3c], eax
movzx eax, bl
shl eax, 0x15
add dword [esp + 0x44], eax
mov eax, ebx
shr eax, 8
add ecx, eax
shr edi, 0x1f
dec edi
mov eax, edi
and esi, edi
and eax, 0x10000000
add edx, esi
add ecx, eax
mov eax, ebx
and eax, 0xf
shl eax, 0x18
sub ecx, eax
mov eax, ebx
shr eax, 4
sub edx, eax
mov dword [esp + 0x48], ecx
mov eax, edi
lea ecx, [esp + 0x48]
and eax, 0x20000000
add edx, eax
mov eax, ebx
sub edx, ebx
and eax, 1
shr ebx, 1
shl eax, 0x1c
dec ebx
add edx, eax
and ebx, edi
add dword [esp + 0x50], ebx
lea eax, [esp + 0x3c]
mov dword [esp + 0x4c], edx
lea ebx, [esp + 0x4c]
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x30]
lea eax, [esp + 0x50]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
xor ebp, ebp
mov dword [esp + 0x24], eax
mov eax, dword [edx]
mov esi, dword [edx]
shr eax, 0x1c
and esi, 0xfffffff
add dword [esp + ebp + 0x34], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
lea edi, [esi - 1]
mov edx, edi
mov dword [eax], 0
mov eax, esi
and eax, 0x3ffff
shr edx, 0x1f
shl eax, 0xb
dec edx
add dword [ebx], eax
and edi, edx
mov ebx, dword [esp + 0x14]
mov eax, esi
shr eax, 0x12
add dword [esp + ebp + 0x40], eax
mov eax, esi
and eax, 0x7f
add dword [esp + ebp + 0x54], edi
shl eax, 0x15
add dword [ecx], eax
mov ecx, edx
and ecx, 0x20000000
mov eax, esi
shr eax, 7
and edx, 0x10000000
add ecx, eax
mov eax, esi
add dword [ebx], ecx
and eax, 0xf
mov ecx, dword [esp + 0x24]
shl eax, 0x19
sub dword [ebx], eax
mov eax, esi
shr eax, 4
add dword [ecx], edi
sub edx, eax
mov eax, dword [esp + 0x18]
lea edi, [esp + 0x48]
add eax, 2
sub edx, esi
add dword [ecx], edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], eax
lea ebp, [eax*4]
mov eax, dword [esp + ebp + 0x2c]
add ecx, ebp
shr eax, 0x1d
add edi, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], edi
add dword [ecx], eax
lea ecx, [esp + 0x3c]
mov ebx, dword [esp + ebp + 0x2c]
add ecx, ebp
and ebx, 0x1fffffff
mov dword [esp + ebp + 0x2c], 0
mov eax, ebx
mov dword [esp + 0x1c], ecx
and eax, 0x3ffff
shl eax, 0xa
add dword [esp + ebp + 0x38], eax
lea edx, [ebx - 1]
mov eax, ebx
mov esi, edx
shr eax, 0x12
add dword [ecx], eax
shr esi, 0x1f
movzx eax, bl
dec esi
shl eax, 0x15
mov ecx, esi
add dword [esp + ebp + 0x44], eax
and ecx, 0x10000000
mov eax, ebx
shr eax, 8
add ecx, eax
and edx, esi
add dword [edi], ecx
mov eax, ebx
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0x4c]
and eax, 0xf
add edi, ebp
shl eax, 0x18
mov dword [esp + 0x14], edi
add dword [edi], edx
sub dword [ecx], eax
mov ecx, ebx
mov edx, dword [esp + 0x10]
and ecx, 1
mov eax, ebx
shl ecx, 0x1c
shr eax, 4
sub ecx, eax
mov eax, esi
and eax, 0x20000000
add ecx, eax
lea eax, [esp + 0x50]
sub ecx, ebx
add eax, ebp
add dword [edi], ecx
mov ecx, dword [esp + 0x20]
shr ebx, 1
dec ebx
mov dword [esp + 0x24], eax
and ebx, esi
add dword [eax], ebx
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 9
jne 0x10035465
mov ebx, dword [esp + 0x28]
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + edx*4 + 0x54]
and eax, 1
shl eax, 0x1c
add eax, dword [esp + edx*4 + 0x50]
add ecx, eax
mov eax, dword [esp + edx*4 + 0x54]
mov dword [ebx + edx*4], ecx
and dword [ebx + edx*4], 0x1fffffff
shr ecx, 0x1d
shr eax, 1
add ecx, eax
mov dword [ebx + edx*4 + 4], ecx
and dword [ebx + edx*4 + 4], 0xfffffff
add edx, 2
shr ecx, 0x1c
cmp edx, 8
jb 0x100355d3
mov esi, dword [esp + 0x70]
add esi, ecx
mov dword [ebx + 0x20], esi
shr esi, 0x1d
and dword [ebx + 0x20], 0x1fffffff
pop edi
lea edx, [esi - 1]
lea eax, [esi + esi]
shr edx, 0x1f
add dword [ebx], eax
dec edx
mov eax, esi
mov ecx, edx
and ecx, 0x10000000
shl eax, 0xb
sub ecx, eax
mov eax, edx
add dword [ebx + 0xc], ecx
and eax, 0xfffffff
add dword [ebx + 0x14], eax
mov ecx, edx
mov eax, esi
and ecx, 0x1fffffff
add dword [ebx + 0x10], ecx
and edx, 1
shl esi, 0x19
sub esi, edx
shl eax, 0x16
add dword [ebx + 0x1c], esi
sub ecx, eax
add dword [ebx + 0x18], ecx
mov ecx, dword [esp + 0x70]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003cf2f
add esp, 0x68
ret