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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
imul ecx, dword [ebp + 0x10], 0xc8
mov eax, dword [ebp + 0xc]
imul edx, dword [ebp + 0x14], 0x470
push ebx
push esi
mov eax, dword [eax + 0x280]
push edi
add edx, dword [eax + ecx + 0x80]
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], ebx
movzx eax, byte [edx + 0xe]
mov dword [ebp - 0x1c], eax
nop dword [eax]
movzx esi, byte [edx + ebx + 0x1e]
lea edi, [ebx + ebx*4]
shl edi, 5
and esi, 0xf
mov dword [edi + ecx], esi
movzx eax, byte [edx + ebx + 0x1e]
shr eax, 4
mov dword [ebp + 0x10], eax
mov dword [edi + ecx + 4], eax
test ebx, ebx
je 0x100248be
mov dword [edi + ecx + 0x78], 3
lea eax, [esi - 1]
movzx ecx, byte [edx + 0xc]
cmp ecx, eax
cmovae ecx, eax
mov eax, dword [ebp + 8]
mov dword [edi + eax + 0x10], ecx
mov eax, dword [ebp + 0x10]
movzx ecx, byte [edx + 0xd]
dec eax
cmp ecx, eax
cmovae ecx, eax
jmp 0x100248de
mov dword [edi + ecx + 0x78], 1
movzx eax, byte [edx + 0xc]
cmp eax, esi
cmovae eax, esi
mov dword [edi + ecx + 0x10], eax
movzx ecx, byte [edx + 0xd]
cmp ecx, dword [ebp + 0x10]
cmovae ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [edi + eax + 0x14], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 0x428]
sub eax, ebx
xor ebx, ebx
mov dword [ebp + 0x10], eax
bts ebx, eax
cmp eax, 0x20
cmovae esi, ebx
xor ebx, esi
cmp eax, 0x40
cmovae esi, ebx
xor eax, eax
add ecx, ebx
push esi
adc eax, esi
add ecx, 0xffffffff
push ebx
adc eax, 0xffffffff
push eax
push ecx
call fcn.1007b5f0
mov ecx, dword [ebp + 8]
push esi
push ebx
mov dword [edi + ecx + 0x28], eax
xor eax, eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x42c]
add ecx, ebx
adc eax, esi
add ecx, 0xffffffff
adc eax, 0xffffffff
push eax
push ecx
call fcn.1007b5f0
mov ecx, dword [ebp + 8]
push esi
push ebx
mov dword [edi + ecx + 0x2c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x430]
xor eax, eax
add ecx, ebx
adc eax, esi
add ecx, 0xffffffff
adc eax, 0xffffffff
push eax
push ecx
call fcn.1007b5f0
mov ecx, dword [ebp + 8]
push esi
push ebx
mov dword [edi + ecx + 0x30], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x434]
xor eax, eax
add ecx, ebx
adc eax, esi
add ecx, 0xffffffff
adc eax, 0xffffffff
push eax
push ecx
call fcn.1007b5f0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov dword [edi + ecx + 0x34], eax
mov eax, dword [ebp + 0x10]
inc eax
cmp dword [ebp - 0x18], 0
cmovne edx, eax
mov dword [ebp + 0x10], edx
cmp edx, 0x20
jb 0x10024a28
mov dword [edi + ecx + 0x38], 0
xor eax, eax
mov dword [edi + ecx + 0x48], 0
mov dword [edi + ecx + 0x58], 0
mov dword [edi + ecx + 0x68], 0
mov dword [edi + ecx + 0x3c], 0
mov dword [edi + ecx + 0x4c], 0
mov dword [edi + ecx + 0x5c], 0
mov dword [edi + ecx + 0x6c], 0
mov dword [edi + ecx + 0x40], 0
mov dword [edi + ecx + 0x50], 0
mov dword [edi + ecx + 0x60], 0
mov dword [edi + ecx + 0x70], 0
mov dword [edi + ecx + 0x44], 0
mov dword [edi + ecx + 0x54], 0
mov dword [edi + ecx + 0x64], 0
jmp 0x10024c6e
xor esi, esi
xor ecx, ecx
mov eax, edx
bts esi, eax
cmp eax, 0x20
cmovae ecx, esi
xor esi, ecx
cmp eax, 0x40
cmovae ecx, esi
add esi, 0xffffffff
adc ecx, 0xffffffff
mov dword [ebp - 4], ecx
test edx, edx
je 0x10024a6c
lea eax, [edx - 1]
xor ebx, ebx
xor edx, edx
bts edx, eax
cmp eax, 0x20
cmovae ebx, edx
xor edx, ebx
cmp eax, 0x40
mov dword [ebp - 8], edx
cmovae ebx, edx
mov dword [ebp - 0x10], ebx
jmp 0x10024a80
xorps xmm0, xmm0
movlpd qword [ebp - 0xc], xmm0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebx + 0x428]
add eax, esi
adc edx, ecx
mov ecx, dword [ebp + 0x10]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x38], eax
mov eax, dword [ebx + 0x42c]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x48], eax
mov eax, dword [ebx + 0x430]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x58], eax
mov eax, dword [ebx + 0x434]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x68], eax
mov eax, dword [ebx + 0x428]
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
sbb edx, dword [ebp - 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x3c], eax
mov eax, dword [ebx + 0x42c]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x4c], eax
mov eax, dword [ebx + 0x430]
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
sbb edx, dword [ebp - 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x5c], eax
mov eax, dword [ebx + 0x434]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x6c], eax
mov eax, dword [ebx + 0x428]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x40], eax
mov eax, dword [ebx + 0x42c]
sub eax, dword [ebp - 8]
sbb edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x50], eax
mov eax, dword [ebx + 0x430]
mov ecx, dword [ebp + 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x60], eax
mov eax, dword [ebx + 0x434]
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
sbb edx, dword [ebp - 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x70], eax
mov eax, dword [ebx + 0x428]
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
sbb edx, dword [ebp - 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x44], eax
mov eax, dword [ebx + 0x42c]
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
sbb edx, dword [ebp - 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x54], eax
mov eax, dword [ebx + 0x430]
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
sbb edx, dword [ebp - 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [edi + ecx + 0x64], eax
mov eax, dword [ebx + 0x434]
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
sbb edx, dword [ebp - 0x10]
add eax, esi
adc edx, dword [ebp - 4]
call fcn.1007b660
mov ecx, dword [ebp + 8]
mov dword [edi + ecx + 0x74], eax
xor edx, edx
mov ebx, dword [edi + ecx]
mov esi, 1
mov eax, dword [ebp + 8]
mov ecx, ebx
shl esi, cl
mov eax, dword [edi + eax + 0x30]
dec eax
add eax, esi
div esi
xor edx, edx
mov ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [edi + eax + 0x28]
div esi
xor edx, edx
mov esi, 1
sub ecx, eax
mov eax, dword [ebp + 8]
mov dword [edi + eax + 8], ecx
mov ecx, dword [edi + eax + 4]
mov eax, dword [edi + eax + 0x34]
dec eax
shl esi, cl
add eax, esi
div esi
xor edx, edx
mov ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [edi + eax + 0x2c]
div esi
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp + 0x14]
sub ecx, eax
mov eax, dword [ebp + 8]
mov dword [edi + eax + 0xc], ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [esi + 0xe]
sub ecx, dword [ebp - 0x18]
add ecx, ebx
mov eax, dword [eax + 0x2c]
movzx eax, byte [eax + edx]
cdq
call fcn.1007b5d0
mov ebx, edx
mov dword [ebp + 0x10], eax
mov edx, dword [ebp + 8]
mov dword [edi + edx + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + edx + 0x1c], ebx
movzx ecx, byte [esi + 0xe]
sub ecx, dword [ebp - 0x18]
mov esi, dword [eax + 0x30]
mov eax, dword [ebp + 0x14]
add ecx, dword [edi + edx + 4]
movzx eax, byte [eax + esi]
cdq
call fcn.1007b5d0
mov ecx, eax
mov eax, dword [ebp + 8]
mov dword [edi + eax + 0x20], ecx
mov dword [edi + eax + 0x24], edx
mov eax, dword [ebp + 0x10]
or eax, ebx
je 0x10024da7
or ecx, edx
je 0x10024da7
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
inc ebx
mov dword [ebp - 0x18], ebx
mov dword [edi + ecx + 0x88], 0
mov dword [edi + ecx + 0x7c], 0
mov dword [edi + ecx + 0x80], 0
mov dword [edi + ecx + 0x84], 0
mov dword [edi + ecx + 0x8c], 0
mov dword [edi + ecx + 0x90], 0
mov dword [edi + ecx + 0x94], 0
mov dword [edi + ecx + 0x98], 0
cmp ebx, dword [ebp - 0x1c]
jbe 0x10024870
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffff3
pop ebx
mov esp, ebp
pop ebp
ret