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

Disassembly:
sub esp, 0x54
mov eax, dword [esp + 0x58]
push ebx
mov ebx, edx
mov edx, ecx
mov dword [esp + 4], edx
push ebp
push esi
mov ebp, dword [edx + 0x18]
xor edx, edx
push edi
imul edi, eax, 0x1608
div dword [ebx + 0x18]
mov esi, dword [ebx + 0x4c]
mov dword [esp + 0x14], ebp
mov ecx, dword [edi + esi + 0x15d0]
mov edi, eax
mov esi, dword [ebx + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov ecx, esi
imul ecx, edx
mov edx, dword [eax]
mov eax, dword [esp + 0x6c]
add ecx, dword [ebx + 4]
cmp ecx, edx
cmova edx, ecx
mov dword [eax], edx
xor eax, eax
add esi, ecx
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0x10]
adc eax, eax
mov edx, dword [ebx + 0x10]
neg eax
or eax, esi
mov ecx, dword [ecx + 8]
cmp eax, ecx
cmovb ecx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x6c], ecx
mov dword [eax], ecx
mov ecx, edx
mov eax, dword [esp + 0x74]
imul ecx, edi
add ecx, dword [ebx + 8]
mov ebx, dword [esp + 0x10]
mov esi, dword [ebx + 4]
cmp ecx, esi
mov edi, dword [ebx + 0xc]
cmova esi, ecx
mov dword [eax], esi
xor eax, eax
add edx, ecx
adc eax, eax
neg eax
or eax, edx
cmp eax, edi
cmovb edi, eax
mov eax, dword [esp + 0x78]
mov dword [eax], edi
mov eax, dword [esp + 0x84]
mov dword [eax], 0
mov eax, dword [esp + 0x88]
mov dword [eax], 0
mov eax, dword [esp + 0x7c]
mov dword [eax], 0x7fffffff
mov eax, dword [esp + 0x80]
mov dword [eax], 0x7fffffff
xor eax, eax
mov dword [esp + 0x28], eax
cmp dword [ebx + 0x10], eax
jbe 0x102dcc10
mov edx, dword [esp + 0x68]
lea ecx, [esi - 1]
mov dword [esp + 0x2c], ecx
dec edx
mov ecx, dword [esp + 0x6c]
dec ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x30], ecx
lea ecx, [edi - 1]
mov edi, dword [esp + 0x24]
add edi, 4
mov dword [esp + 0x34], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x24], edi
lea esp, [esp]
mov esi, dword [ebp]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x1c], 0
mov ebx, dword [ecx + eax*4]
lea eax, [edx + esi]
cdq
idiv esi
mov ecx, dword [ebp + 4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x2c]
add eax, ecx
cdq
idiv ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
add eax, esi
cdq
idiv esi
mov esi, dword [edi]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x34]
add eax, ecx
cdq
idiv ecx
mov ecx, dword [esp + 0x70]
cmp esi, ecx
mov dword [esp + 0x78], eax
cmova ecx, esi
mov dword [esp + 0x70], ecx
test esi, esi
je 0x102dcbdc
mov eax, dword [esp + 0x68]
lea ecx, [edi + 0x3ac]
cdq
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], edx
cdq
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], edx
cdq
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x4c], edx
cdq
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x20], ecx
mov edi, edi
mov ebp, dword [ecx - 0x84]
dec esi
mov eax, dword [ecx]
mov edx, 1
mov edi, dword [esp + 0x14]
mov dword [esp + 0x68], esi
lea ecx, [esi + ebp]
mov dword [ebx], ebp
shl edx, cl
lea ecx, [eax + esi]
mov dword [ebx + 4], eax
mov esi, 1
imul edx, dword [edi]
shl esi, cl
imul esi, dword [edi + 4]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x6c], eax
cmp dword [ecx], edx
cmovl edx, dword [ecx]
mov dword [ecx], edx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
cmp dword [ecx], esi
cmovl esi, dword [ecx]
xor edi, edi
mov dword [ecx], esi
xor esi, esi
mov ecx, dword [esp + 0x68]
mov eax, ecx
bts esi, eax
cmp eax, 0x20
cmovae edi, esi
xor esi, edi
cmp eax, 0x40
mov eax, dword [esp + 0x38]
cmovae edi, esi
add eax, esi
adc edx, edi
sub eax, 1
sbb edx, 0
call fcn.1033e2d0
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x40]
add eax, esi
adc edx, edi
sub eax, 1
sbb edx, 0
call fcn.1033e2d0
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
add eax, esi
adc edx, edi
sub eax, 1
sbb edx, 0
call fcn.1033e2d0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x50]
add eax, esi
adc edx, edi
sub eax, 1
sbb edx, 0
call fcn.1033e2d0
mov edx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x78], eax
xor edi, edi
mov eax, dword [esp + 0x6c]
mov ecx, eax
sar edx, cl
bts esi, ecx
shl edx, cl
cmp ecx, 0x20
mov dword [esp + 0x5c], edx
cmovae edi, esi
xor esi, edi
mov eax, dword [esp + 0x78]
cmp ecx, 0x40
cdq
cmovae edi, esi
add eax, esi
adc edx, edi
sub eax, 1
mov edi, ecx
sbb edx, 0
call fcn.1033e2d0
mov edx, dword [esp + 0x58]
mov esi, eax
mov ecx, edi
shl esi, cl
cmp dword [esp + 0x74], edx
jne 0x102dcb42
xor eax, eax
jmp 0x102dcb81
xor ecx, ecx
mov eax, ebp
bts ecx, eax
xor edi, edi
cmp eax, 0x20
cmovae edi, ecx
xor ecx, edi
cmp eax, 0x40
mov eax, edx
cmovae edi, ecx
cdq
add eax, ecx
mov ecx, ebp
adc edx, edi
sub eax, 1
sbb edx, 0
call fcn.1033e2d0
mov edx, dword [esp + 0x74]
mov ecx, ebp
mov edi, dword [esp + 0x6c]
sar edx, cl
shl eax, cl
shl edx, cl
sub eax, edx
sar eax, cl
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x18], ecx
jne 0x102dcb8f
xor esi, esi
jmp 0x102dcb97
sub esi, dword [esp + 0x5c]
mov ecx, edi
sar esi, cl
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], esi
add ebx, 0x10
imul esi, eax
mov eax, dword [esp + 0x84]
cmp esi, dword [eax]
jbe 0x102dcbb0
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
inc eax
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x68]
add ecx, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
cmp eax, dword [edi]
jb 0x102dca10
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x10]
add edi, 0x438
mov eax, dword [esp + 0x28]
add ebp, 0x34
inc eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ebp
cmp eax, dword [edx + 0x10]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x28], eax
jb 0x102dc970
mov eax, dword [esp + 0x88]
mov dword [eax], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret