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

Disassembly:
sub esp, 0x34
mov eax, dword [esp + 0x38]
push esi
mov esi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
je 0x10328acd
imul eax, dword [esp + 0x44], 0xcc
mov ecx, dword [esp + 0x40]
push ebx
add ecx, 4
push ebp
add ecx, eax
mov dword [esp + 0x10], ecx
push edi
nop dword [eax]
nop word [eax + eax]
test byte [esi + 0x10], 8
mov eax, dword [ecx + 0xc4]
mov edi, dword [ecx + 0xc8]
mov dword [esp + 0x10], eax
jne 0x10328ab6
mov eax, dword [esi]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x28]
mov eax, dword [esi + 4]
add ebp, edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x48], ebx
test eax, eax
jne 0x10328974
mov eax, dword [esp + 0x54]
cmp byte [eax + 0x78], 0
je 0x10328987
cmp byte [eax + 0x7a], 0
jne 0x1032899c
mov dword [esp + 0x1c], 0
xor ecx, ecx
mov dword [esi + 0xc], ebx
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov dword [esp + 0x38], ecx
cmp dword [esp + 0x50], 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edi
jne 0x103288a5
mov ecx, dword [esi]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 4]
add eax, ecx
push ecx
push eax
mov eax, dword [esp + 0x58]
add eax, 0x19c
push eax
call fcn.10327bc0
mov edx, dword [esp + 0x4c]
add esp, 0x10
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ecx
mov eax, ecx
sub eax, 1
je 0x10328a49
sub eax, 1
je 0x10328a44
sub eax, 1
je 0x10328a38
mov edx, dword [esi + 0x14]
mov dword [esp + 0x30], edx
test edx, edx
je 0x1032893a
test byte [edx + 0x10], 8
jne 0x103288ec
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [esp + 0x54]
push edx
call fcn.10328410
mov edx, dword [esp + 0x40]
add esp, 0x10
mov eax, dword [edx + 4]
mov ecx, dword [esi + 4]
mov edi, dword [edx + 0xc]
sar ecx, 1
sar eax, 1
sub ecx, eax
sar edi, 1
sub ecx, dword [edx]
add ecx, dword [esi]
add edi, dword [edx + 8]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 0x34]
mov eax, ebx
sar eax, 1
sub ebp, eax
add ebp, edi
mov eax, dword [esp + 0x54]
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebx
cmp byte [eax + 0x7c], 0
je 0x103289fa
cmp ebx, 0x40
jg 0x103289e5
cmp ebx, 0x20
jl 0x103289a9
sar ebx, 1
add ebp, ebx
mov dword [esp + 0x48], 0x40
mov eax, dword [esp + 0x48]
and ebp, 0xffffffc0
jmp 0x103289fc
cmp eax, 1
jne 0x10328845
mov eax, dword [esp + 0x54]
cmp byte [eax + 0x79], 0
jne 0x10328992
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebx
jmp 0x10328aae
cmp byte [eax + 0x7b], 0
je 0x10328845
mov dword [esp + 0x1c], 1
jmp 0x1032884d
test ebx, ebx
jle 0x103289d9
lea edi, [ebx + ebp]
lea eax, [edi + 0x20]
and eax, 0xffffffc0
lea edx, [ebp + 0x20]
sub eax, ebx
and edx, 0xffffffc0
sub eax, ebp
sub edx, ebp
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, eax
mov eax, edx
neg eax
test edx, edx
cmovns eax, edx
cmp eax, ecx
cmovg ebp, edi
mov eax, dword [esp + 0x48]
add ebp, 0x20
and ebp, 0xffffffc0
jmp 0x103289fc
push 0
push ebx
push dword [esp + 0x1c]
call fcn.10328390
add esp, 0xc
mov dword [esp + 0x48], eax
jmp 0x103289fc
mov eax, ebx
lea edi, [ebp + 0x20]
add edi, eax
lea ebx, [ebp + 0x20]
and edi, 0xffffffc0
and ebx, 0xffffffc0
sub edi, eax
sub ebx, ebp
sub edi, ebp
mov eax, edi
cdq
mov ecx, eax
mov eax, ebx
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
mov ecx, dword [esp + 0x18]
cmovle edi, ebx
lea eax, [edi + ebp]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0xc], eax
jmp 0x10328a50
mov eax, edx
mov dword [esi + 8], edi
sub eax, edi
mov dword [esi + 0xc], eax
jmp 0x10328a50
mov dword [esi + 8], edi
jmp 0x10328a50
mov eax, edx
sub eax, ebx
mov dword [esi + 8], eax
cmp dword [esp + 0x1c], 0
je 0x10328aae
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp eax, 0x40
jge 0x10328a69
mov eax, 0x40
jmp 0x10328a6f
add eax, 0x20
and eax, 0xffffffc0
sub ecx, 1
je 0x10328aa2
sub ecx, 1
je 0x10328aab
sub ecx, 1
je 0x10328aae
mov edx, eax
mov dword [esi + 0xc], eax
sar edx, 1
test al, 0x40
je 0x10328a96
lea ecx, [edx + edi]
and ecx, 0xffffffc0
add ecx, 0x20
sub ecx, edx
jmp 0x10328aa8
lea ecx, [edi + 0x20]
add ecx, edx
and ecx, 0xffffffc0
sub ecx, edx
jmp 0x10328aa8
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x14]
or dword [esi + 0x10], 8
mov eax, dword [esp + 0x24]
add esi, 0x1c
dec eax
mov dword [esp + 0x24], eax
test eax, eax
jne 0x103287a0
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x34
ret