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

Disassembly:
sub esp, 0x28
imul eax, dword [esp + 0x2c], 0xcc
push ebx
add eax, edx
mov dword [esp + 0xc], edx
push ebp
mov ebp, ecx
mov dword [esp + 0x2c], eax
push edi
mov ebx, dword [eax + 0xc8]
mov edi, dword [eax + 0xcc]
test byte [ebp + 0x10], 8
mov dword [esp + 0x2c], ebx
jne 0x10024a9b
mov ecx, dword [ebp]
mov edx, ebx
push esi
call fcn.10009400
mov ecx, dword [ebp + 4]
mov edx, ebx
lea esi, [edi + eax]
mov dword [esp + 0x1c], esi
call fcn.10009400
mov ecx, dword [esp + 0x3c]
mov ebx, eax
mov dword [esp + 0x24], ebx
test ecx, ecx
jne 0x100247a2
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x78], cl
je 0x100247b5
cmp byte [eax + 0x7a], cl
jne 0x100247d3
mov dword [esp + 0x28], 0
xor eax, eax
mov dword [ebp + 0xc], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
cmp ecx, 1
jne 0x100248ae
mov ecx, dword [esp + 0x18]
mov edi, dword [ebp]
add edi, dword [ebp + 4]
mov dword [esp + 0x14], eax
mov al, byte [ecx + 0x9bc]
mov esi, dword [ecx + 0x19c]
add ecx, 0x1a0
mov byte [esp + 0x13], al
test esi, esi
je 0x10024802
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x9b8]
neg eax
mov dword [esp + 0x2c], eax
mov edx, edi
sub edx, dword [ecx + 0xc]
cmp edx, eax
jl 0x10024802
mov ebx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
add eax, dword [ebx + 0x9b8]
mov ebx, dword [esp + 0x24]
cmp edi, eax
jle 0x100247e0
mov eax, dword [esp + 0x2c]
add ecx, 0x20
sub esi, 1
jne 0x10024772
jmp 0x10024802
cmp ecx, 1
jne 0x10024718
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x79], 0
jne 0x100247c9
or dword [ebp + 0x10], 8
mov dword [ebp + 8], esi
pop esi
pop edi
mov dword [ebp + 0xc], ebx
pop ebp
pop ebx
add esp, 0x28
ret 8
cmp byte [eax + 0x7b], 0
je 0x10024718
mov dword [esp + 0x28], 1
jmp 0x10024720
cmp byte [esp + 0x13], 0
jne 0x100247f3
mov eax, dword [esp + 0x18]
cmp edx, dword [eax + 0x9b4]
jg 0x10024802
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
xor edi, edi
mov esi, dword [edx + 0x3a0]
lea ecx, [edx + 0x384]
mov eax, esi
shl eax, 5
add ecx, eax
test esi, esi
je 0x10024851
mov edi, dword [edx + 0x9b8]
neg edi
mov edx, dword [ecx + 8]
sub edx, dword [ebp]
cmp edx, edi
jl 0x1002484f
mov ebx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
sub eax, dword [ebx + 0x9b8]
mov ebx, dword [esp + 0x24]
cmp dword [ebp], eax
jge 0x10024878
sub ecx, 0x20
sub esi, 1
jne 0x10024827
xor edi, edi
mov eax, dword [esp + 0x14]
sub eax, 1
je 0x1002489d
sub eax, 1
je 0x10024a14
sub eax, 1
jne 0x100248aa
mov edx, dword [esp + 0x20]
mov eax, edx
sub eax, edi
mov dword [ebp + 0xc], eax
jmp 0x10024a18
cmp byte [esp + 0x13], 0
jne 0x1002488d
mov eax, dword [esp + 0x18]
xor edi, edi
cmp edx, dword [eax + 0x9b4]
jge 0x10024851
mov eax, dword [esp + 0x14]
mov edi, dword [ecx + 0x10]
or eax, 2
mov dword [esp + 0x14], eax
jmp 0x10024855
mov edx, dword [esp + 0x20]
mov edi, edx
sub edi, ebx
jmp 0x10024a18
mov ecx, dword [esp + 0x3c]
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x100248fc
test byte [edi + 0x10], 8
jne 0x100248cb
push dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.100246a0
mov eax, dword [edi + 4]
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x30]
sar ecx, 1
add ecx, dword [ebp]
sar eax, 1
add eax, dword [edi]
sar esi, 1
sub ecx, eax
add esi, dword [edi + 8]
mov edi, ebx
sar edi, 1
call fcn.10009400
sub esi, edi
lea ecx, [esi + eax]
mov dword [esp + 0x1c], ecx
jmp 0x10024904
mov ecx, dword [esp + 0x1c]
mov edi, ebx
sar edi, 1
mov eax, dword [esp + 0x40]
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], ebx
cmp byte [eax + 0x7c], 0
je 0x100249e6
cmp ebx, 0x40
jg 0x10024989
cmp ebx, 0x20
jl 0x10024935
add ecx, edi
mov ebx, 0x40
and ecx, 0xffffffc0
mov dword [esp + 0x1c], ecx
jmp 0x100249e6
lea eax, [ecx + 0x20]
and eax, 0xffffffc0
mov dword [esp + 0x40], eax
test ebx, ebx
jle 0x10024981
mov edx, dword [esp + 0x1c]
lea edi, [ebx + ecx]
mov esi, eax
lea eax, [edi + 0x20]
and eax, 0xffffffc0
sub esi, ecx
sub eax, ebx
mov ecx, eax
sub ecx, edx
sub edx, eax
test ecx, ecx
cmovns edx, ecx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sub eax, dword [esp + 0x40]
test esi, esi
cmovns eax, esi
cmp eax, edx
cmovg ecx, edi
add ecx, 0x20
and ecx, 0xffffffc0
mov dword [esp + 0x1c], ecx
jmp 0x100249e6
mov ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x100249e6
mov esi, dword [esp + 0x34]
mov eax, ebx
mov edx, ebx
mov esi, dword [esi + 0xc]
sub eax, esi
jns 0x1002499c
mov eax, esi
sub eax, ebx
cmp eax, 0x28
jge 0x100249b1
mov edx, esi
cmp edx, 0x30
jge 0x100249b1
xor ebx, ebx
mov ebx, 0x36
jmp 0x100249e6
mov ebx, edx
cmp ebx, 0xc0
jae 0x100249e0
mov eax, ebx
and ebx, 0xffffffc0
and eax, 0x3f
cmp eax, 0xa
jae 0x100249cc
add ebx, eax
jmp 0x100249e6
cmp eax, 0x20
jae 0x100249d6
add ebx, 0xa
jmp 0x100249e6
cmp eax, 0x36
jae 0x100249c8
add ebx, 0x36
jmp 0x100249e6
lea ebx, [edx + 0x20]
and ebx, 0xffffffc0
lea esi, [ecx + 0x20]
mov dword [ebp + 0xc], ebx
add esi, ebx
lea edi, [ecx + 0x20]
and esi, 0xffffffc0
and edi, 0xffffffc0
sub esi, ebx
mov eax, esi
sub eax, ecx
cdq
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x1c]
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
cmovg edi, esi
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x28], 0
mov dword [ebp + 8], edi
je 0x10024a96
mov ecx, dword [ebp + 0xc]
cmp ecx, 0x40
jge 0x10024a31
mov ecx, 0x40
jmp 0x10024a37
add ecx, 0x20
and ecx, 0xffffffc0
mov eax, dword [esp + 0x14]
sub eax, 1
je 0x10024a8e
sub eax, 1
je 0x10024a93
sub eax, 1
je 0x10024a96
mov edx, ecx
sar edx, 1
lea eax, [edx + edi]
test cl, 0x40
je 0x10024a72
and eax, 0xffffffc0
mov dword [ebp + 0xc], ecx
add eax, 0x20
pop esi
sub eax, edx
or dword [ebp + 0x10], 8
pop edi
mov dword [ebp + 8], eax
pop ebp
pop ebx
add esp, 0x28
ret 8
add eax, 0x20
mov dword [ebp + 0xc], ecx
and eax, 0xffffffc0
pop esi
sub eax, edx
or dword [ebp + 0x10], 8
pop edi
mov dword [ebp + 8], eax
pop ebp
pop ebx
add esp, 0x28
ret 8
sub edx, ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ecx
or dword [ebp + 0x10], 8
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x28
ret 8