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

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0x64
push ebx
push ebp
mov ebp, dword [esp + 0x74]
push esi
mov esi, ebp
push edi
mov edi, dword [esp + 0x80]
test eax, eax
jne 0x10025815
mov dword [esp + 0x54], 0xfffffbcc
jmp 0x10025824
add eax, 0xfffffbcb
or edi, 0x100000
mov dword [esp + 0x54], eax
xor edx, edx
mov eax, esi
inc edx
xor ecx, ecx
and eax, edx
mov byte [esp + 0x13], dl
or eax, ecx
je 0x10025839
mov byte [esp + 0x13], cl
mov eax, esi
mov ebx, edi
shld ebx, eax, 2
shl eax, 2
or ebp, dword [esp + 0x80]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x5c], eax
jne 0x10025862
mov dword [esp + 0x30], ecx
cmp dword [esp + 0x84], edx
ja 0x10025866
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x54]
shld edi, esi, 1
mov byte [esp + 0x84], cl
add esi, esi
mov byte [esp + 0x7c], cl
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], esi
test ebx, ebx
js 0x10025e76
xor eax, eax
imul ecx, ebx, 0x13441
push 0
shr ecx, 0x12
cmp ebx, 3
setg al
sub ecx, eax
imul eax, ecx, 0x12934f
mov ebp, ecx
shl ebp, 4
add ebp, 0x1012cc38
mov dword [esp + 0x28], ecx
shr eax, 0x13
sub eax, ebx
add eax, ecx
mov ecx, dword [ebp + 4]
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
mov dword [esp + 0x48], eax
mul esi
mov dword [esp + 0x4c], ecx
mov ebx, eax
mov ecx, edx
mov eax, dword [ebp]
mul edi
mov esi, eax
mov edi, edx
mov eax, dword [ebp + 4]
add esi, ecx
adc edi, 0
mul dword [esp + 0x24]
add eax, esi
mov ecx, edx
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 4]
pop esi
adc ecx, esi
mul dword [esp + 0x18]
push 0
mov dword [esp + 0x3c], eax
mov eax, edx
mov edx, dword [esp + 0x3c]
add edx, ecx
adc eax, esi
add edx, edi
mov dword [esp + 0x3c], edx
adc eax, esi
or dword [esp + 0x2c], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x64], eax
xor eax, eax
or eax, ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x30], eax
mov eax, esi
mul dword [esp + 0x24]
pop ebp
mov ebx, eax
mov ecx, edx
mov eax, esi
mul dword [esp + 0x18]
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x2c]
add esi, ecx
adc edi, ebp
mul dword [esp + 0x20]
add eax, esi
mov ecx, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
adc ecx, ebp
mul dword [esp + 0x18]
mov esi, eax
mov eax, edx
add esi, ecx
adc eax, ebp
add esi, edi
adc eax, ebp
mov ecx, dword [esp + 0x14]
xor edi, edi
mov edx, dword [esp + 0x38]
or edi, ebx
xor ebx, ebx
mov dword [esp + 0x18], eax
or ecx, ebx
add edi, edx
mov dword [esp + 0x40], edi
adc ecx, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x60]
ja 0x100259a7
jb 0x1002599e
cmp edi, edx
jae 0x100259a7
xor edx, edx
mov ebp, ebx
inc edx
mov eax, edx
jmp 0x100259bb
xorps xmm0, xmm0
xor edx, edx
movlpd qword [esp + 0x6c], xmm0
inc edx
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
add esi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], esi
adc dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x3c]
add eax, ebp
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x48]
adc eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x28]
ja 0x100259ef
jb 0x100259e9
cmp dword [esp + 0x60], ebp
jae 0x100259ef
mov eax, edx
mov esi, ebx
jmp 0x10025a00
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
add eax, dword [esp + 0x4c]
adc esi, dword [esp + 0x2c]
add eax, edi
adc esi, ecx
cmp esi, ecx
ja 0x10025a1a
jb 0x10025a16
cmp eax, edi
jae 0x10025a1a
mov eax, ebx
jmp 0x10025a2b
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x1c]
push 7
pop ecx
sub ecx, ebp
mov dword [esp + 0x50], ecx
lea ecx, [ebp + 0x19]
shr esi, cl
xor ebp, ebp
add edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
adc eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov eax, edx
mov edx, dword [esp + 0x60]
call fcn.100b7680
xor ecx, ecx
or esi, eax
or ebp, edx
mov dword [esp + 0x54], esi
inc ecx
mov dword [esp + 0x20], ebp
cmp dword [esp + 0x30], ecx
jne 0x10025b0d
mov ebp, dword [esp + 0x3c]
mov eax, ebp
sub eax, dword [esp + 0x44]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
sbb eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x28]
jb 0x10025a9d
ja 0x10025a97
cmp dword [esp + 0x60], ebp
jbe 0x10025a9d
mov eax, ecx
mov ebp, ebx
jmp 0x10025aae
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov edx, edi
mov edi, dword [esp + 0x14]
sub edx, eax
sbb edi, ebp
sub edx, dword [esp + 0x4c]
sbb edi, dword [esp + 0x2c]
cmp edi, dword [esp + 0x14]
jb 0x10025ad6
ja 0x10025ace
cmp edx, dword [esp + 0x40]
jbe 0x10025ad6
mov edx, ecx
mov dword [esp + 0x54], ebx
jmp 0x10025aeb
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
mov eax, dword [esp + 0x38]
lea ecx, [ecx + 0x19]
shr edi, cl
sub eax, edx
mov edx, dword [esp + 0x18]
sbb edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
jmp 0x10025c4d
mov edx, dword [esp + 0x3c]
mov edi, edx
mov ebp, dword [esp + 0x28]
shld ebp, edi, 1
add edi, edi
mov dword [esp + 0x60], ebp
cmp ebp, dword [esp + 0x28]
ja 0x10025b35
jb 0x10025b2d
cmp edi, edx
jae 0x10025b35
mov esi, ecx
mov dword [esp + 0x3c], ebx
jmp 0x10025b4a
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x14]
shld ebp, edx, 1
add edx, edx
add edx, esi
adc ebp, dword [esp + 0x3c]
cmp ebp, dword [esp + 0x14]
ja 0x10025b76
jb 0x10025b6c
cmp edx, dword [esp + 0x40]
jae 0x10025b76
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], ebx
jmp 0x10025b8f
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], esi
shld dword [esp + 0x28], eax, 1
mov esi, dword [esp + 0x54]
add eax, eax
add eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
adc dword [esp + 0x28], eax
mov eax, edi
sub eax, dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x60]
sbb eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x60]
jb 0x10025bdf
ja 0x10025bd7
cmp dword [esp + 0x44], edi
jbe 0x10025bdf
mov edi, ecx
mov dword [esp + 0x60], ebx
jmp 0x10025bf4
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
mov eax, edx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x60]
sub eax, dword [esp + 0x4c]
sbb edi, dword [esp + 0x2c]
cmp edi, ebp
jb 0x10025c18
ja 0x10025c10
cmp eax, edx
jbe 0x10025c18
mov edx, ecx
mov dword [esp + 0x60], ebx
jmp 0x10025c2d
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
mov eax, dword [esp + 0x40]
push 6
lea ecx, [ecx + 0x1a]
shr edi, cl
sub eax, edx
mov edx, dword [esp + 0x2c]
sbb edx, dword [esp + 0x64]
pop ecx
sub ecx, dword [esp + 0x1c]
call fcn.100b7680
mov ecx, dword [esp + 0x1c]
or ebp, edx
xor edx, edx
or edi, eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
lea ecx, [ecx + 0x19]
shr dword [esp + 0x14], cl
mov ecx, dword [esp + 0x50]
call fcn.100b7680
or dword [esp + 0x14], eax
xor eax, eax
or eax, edx
cmp dword [esp + 0x24], 0x15
mov dword [esp + 0x18], eax
ja 0x10025d14
push dword [esp + 0x34]
push dword [esp + 0x60]
call fcn.10026dba
mov edx, dword [esp + 0x64]
pop ecx
imul eax, eax, 5
pop ecx
mov ecx, edx
sub ecx, eax
jne 0x10025cc0
push dword [esp + 0x34]
push edx
call fcn.10027966
cmp eax, dword [esp + 0x2c]
pop ecx
sbb al, al
pop ecx
inc al
jmp 0x100262c4
mov eax, dword [esp + 0x34]
cmp byte [esp + 0x13], bl
je 0x10025cf9
sub edx, dword [esp + 0x30]
sbb eax, ebx
add edx, 0xffffffff
adc eax, 0xffffffff
push eax
push edx
call fcn.10027966
cmp eax, dword [esp + 0x2c]
pop ecx
sbb al, al
inc al
mov byte [esp + 0x88], al
mov al, bl
pop ecx
mov cl, byte [esp + 0x84]
jmp 0x10025d18
add edx, 2
adc eax, ebx
push eax
push edx
call fcn.10027966
cmp eax, dword [esp + 0x2c]
pop ecx
sbb eax, eax
inc eax
sub esi, eax
pop ecx
sbb dword [esp + 0x20], ebx
mov al, bl
mov cl, al
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x12], bl
test cl, cl
jne 0x10026310
test al, al
jne 0x10026310
push dword [esp + 0x20]
mov byte [esp + 0x88], bl
push esi
call fcn.10026d20
push ebp
push edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x70], edx
call fcn.10026d20
mov ecx, edx
mov dword [esp + 0x7c], eax
add esp, 0x10
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x60], ecx
jb 0x10025dbc
ja 0x10025d6e
cmp dword [esp + 0x7c], eax
jbe 0x10025dbc
mov edx, dword [esp + 0x18]
push edx
push dword [esp + 0x18]
call fcn.10026d20
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x6c]
pop ecx
pop ecx
imul ecx, eax, 0x64
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x60]
sub edx, ecx
mov dword [esp + 0x20], eax
cmp edx, 0x32
mov dword [esp + 0x1c], 2
sbb cl, cl
inc cl
mov byte [esp + 0x84], cl
push dword [esp + 0x20]
push esi
call fcn.10026d4b
mov esi, eax
mov dword [esp + 0x84], edx
push ebp
push edi
mov dword [esp + 0x60], esi
call fcn.10026d4b
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], edx
cmp dword [esp + 0x7c], edx
jb 0x100262d5
ja 0x10025df9
cmp esi, eax
jbe 0x100262d5
mov esi, dword [esp + 0x18]
push esi
push dword [esp + 0x18]
call fcn.10026d4b
push dword [esp + 0x84]
mov edi, dword [esp + 0x68]
mov esi, edx
mov edx, dword [esp + 0x20]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x64]
imul ecx, eax, 0xa
mov dword [esp + 0x24], eax
sub edx, ecx
cmp edx, 5
sbb cl, cl
inc cl
inc dword [esp + 0x2c]
mov byte [esp + 0x94], cl
call fcn.10026d4b
push ebp
push edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x94], edx
call fcn.10026d4b
mov ecx, edx
mov dword [esp + 0x74], eax
add esp, 0x18
mov dword [esp + 0x54], ecx
cmp dword [esp + 0x7c], ecx
ja 0x10025dfd
jb 0x100262d9
cmp dword [esp + 0x50], eax
ja 0x10025dfd
jmp 0x100262d9
xor ecx, ecx
mov eax, ebx
neg eax
mov ebp, 0x1012de78
cmp eax, edx
push 0
setg cl
imul edx, ebx, 0xfff4d105
shr edx, 0x14
sub edx, ecx
add ebx, edx
mov dword [esp + 0x70], edx
imul eax, ebx, 0xffed6cb1
mov dword [esp + 0x28], ebx
shr eax, 0x13
sub edx, eax
mov eax, ebx
shl eax, 4
sub ebp, eax
mov dword [esp + 0x20], edx
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x4c], eax
mul esi
mov dword [esp + 0x48], ecx
mov ebx, eax
mov ecx, edx
mov eax, dword [ebp]
mul edi
mov esi, eax
mov edi, edx
mov eax, dword [ebp + 4]
add esi, ecx
adc edi, 0
mul dword [esp + 0x24]
add eax, esi
mov ecx, edx
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 4]
pop esi
adc ecx, esi
mul dword [esp + 0x18]
push 0
mov dword [esp + 0x54], eax
mov eax, edx
mov edx, dword [esp + 0x54]
add edx, ecx
adc eax, esi
add edx, edi
mov dword [esp + 0x54], edx
adc eax, esi
or dword [esp + 0x30], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x64], eax
xor eax, eax
or eax, ebx
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], eax
mov eax, esi
mul dword [esp + 0x24]
pop ebp
mov ebx, eax
mov ecx, edx
mov eax, esi
mul dword [esp + 0x18]
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x28]
add esi, ecx
adc edi, ebp
mul dword [esp + 0x20]
add eax, esi
mov ecx, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
adc ecx, ebp
mul dword [esp + 0x18]
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0x50]
add esi, ecx
mov ecx, dword [esp + 0x14]
adc eax, ebp
add esi, edi
adc eax, ebp
xor edi, edi
or edi, ebx
mov dword [esp + 0x18], eax
xor ebx, ebx
or ecx, ebx
add edi, edx
mov dword [esp + 0x50], edi
adc ecx, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x60]
ja 0x10025f9a
jb 0x10025f91
cmp edi, edx
jae 0x10025f9a
xor edx, edx
mov ebp, ebx
inc edx
mov eax, edx
jmp 0x10025fae
xorps xmm0, xmm0
xor edx, edx
movlpd qword [esp + 0x64], xmm0
inc edx
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
add esi, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], esi
adc dword [esp + 0x18], ebp
mov esi, dword [esp + 0x4c]
add eax, esi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
adc eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x2c]
ja 0x10025fe2
jb 0x10025fdc
cmp dword [esp + 0x60], esi
jae 0x10025fe2
mov eax, edx
mov esi, ebx
jmp 0x10025ff3
xorps xmm0, xmm0
movlpd qword [esp + 0x64], xmm0
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x40]
adc esi, dword [esp + 0x28]
add eax, edi
adc esi, ecx
cmp esi, ecx
ja 0x1002600d
jb 0x10026009
cmp eax, edi
jae 0x1002600d
mov eax, ebx
jmp 0x1002601e
xorps xmm0, xmm0
movlpd qword [esp + 0x64], xmm0
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x1c]
push 9
pop ecx
sub ecx, ebp
mov dword [esp + 0x3c], ecx
lea ecx, [ebp + 0x17]
shr esi, cl
xor ebp, ebp
add edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
adc eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov eax, edx
mov edx, dword [esp + 0x60]
call fcn.100b7680
xor ecx, ecx
or esi, eax
or ebp, edx
mov dword [esp + 0x54], esi
inc ecx
mov dword [esp + 0x20], ebp
cmp dword [esp + 0x30], ecx
jne 0x10026100
mov edx, dword [esp + 0x4c]
mov eax, edx
sub eax, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
sbb eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x2c]
jb 0x10026090
ja 0x1002608a
cmp dword [esp + 0x60], edx
jbe 0x10026090
mov eax, ecx
mov ebp, ebx
jmp 0x100260a1
xorps xmm0, xmm0
movlpd qword [esp + 0x64], xmm0
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov edx, edi
mov edi, dword [esp + 0x14]
sub edx, eax
sbb edi, ebp
sub edx, dword [esp + 0x40]
sbb edi, dword [esp + 0x28]
cmp edi, dword [esp + 0x14]
jb 0x100260c9
ja 0x100260c1
cmp edx, dword [esp + 0x50]
jbe 0x100260c9
mov edx, ecx
mov dword [esp + 0x60], ebx
jmp 0x100260de
xorps xmm0, xmm0
movlpd qword [esp + 0x64], xmm0
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
mov eax, dword [esp + 0x38]
lea ecx, [ecx + 0x17]
shr edi, cl
sub eax, edx
mov edx, dword [esp + 0x18]
sbb edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x3c]
jmp 0x10026240
mov eax, dword [esp + 0x4c]
mov edi, eax
mov ebp, dword [esp + 0x2c]
shld ebp, edi, 1
add edi, edi
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x2c]
ja 0x10026128
jb 0x10026120
cmp edi, eax
jae 0x10026128
mov esi, ecx
mov dword [esp + 0x60], ebx
jmp 0x1002613d
xorps xmm0, xmm0
movlpd qword [esp + 0x64], xmm0
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x14]
shld ebp, edx, 1
add edx, edx
add edx, esi
adc ebp, dword [esp + 0x60]
cmp ebp, dword [esp + 0x14]
ja 0x10026169
jb 0x1002615f
cmp edx, dword [esp + 0x50]
jae 0x10026169
mov dword [esp + 0x60], ecx
mov dword [esp + 0x50], ebx
jmp 0x10026182
xorps xmm0, xmm0
movlpd qword [esp + 0x64], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], esi
shld dword [esp + 0x2c], eax, 1
mov esi, dword [esp + 0x54]
add eax, eax
add eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
adc dword [esp + 0x2c], eax
mov eax, edi
sub eax, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
sbb eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x4c]
jb 0x100261d2
ja 0x100261ca
cmp dword [esp + 0x60], edi
jbe 0x100261d2
mov edi, ecx
mov dword [esp + 0x60], ebx
jmp 0x100261e7
xorps xmm0, xmm0
movlpd qword [esp + 0x54], xmm0
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov eax, edx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x60]
sub eax, dword [esp + 0x40]
sbb edi, dword [esp + 0x28]
cmp edi, ebp
jb 0x1002620b
ja 0x10026203
cmp eax, edx
jbe 0x1002620b
mov edx, ecx
mov dword [esp + 0x60], ebx
jmp 0x10026220
xorps xmm0, xmm0
movlpd qword [esp + 0x54], xmm0
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
mov eax, dword [esp + 0x64]
push 8
lea ecx, [ecx + 0x18]
shr edi, cl
sub eax, edx
mov edx, dword [esp + 0x30]
sbb edx, dword [esp + 0x64]
pop ecx
sub ecx, dword [esp + 0x1c]
call fcn.100b7680
mov ecx, dword [esp + 0x1c]
or ebp, edx
xor edx, edx
or edi, eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
lea ecx, [ecx + 0x17]
shr dword [esp + 0x14], cl
mov ecx, dword [esp + 0x3c]
call fcn.100b7680
or dword [esp + 0x14], eax
xor eax, eax
or eax, edx
xor edx, edx
mov dword [esp + 0x18], eax
inc edx
mov eax, dword [esp + 0x6c]
cmp eax, edx
ja 0x100262a9
mov al, dl
mov byte [esp + 0x7c], al
cmp byte [esp + 0x13], bl
je 0x1002629a
mov cl, byte [esp + 0x30]
mov byte [esp + 0x84], cl
jmp 0x10025d18
add esi, 0xffffffff
mov cl, bl
adc dword [esp + 0x20], 0xffffffff
jmp 0x10025d18
cmp eax, 0x3f
jae 0x10025d14
dec eax
push eax
push dword [esp + 0x38]
push dword [esp + 0x64]
call fcn.100278d5
add esp, 0xc
mov byte [esp + 0x7c], al
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x12], bl
jmp 0x10025d28
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x100262e5
cmp esi, ebp
je 0x10026308
cmp byte [esp + 0x84], 0
jne 0x10026308
xorps xmm0, xmm0
movlpd qword [esp + 0x7c], xmm0
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
jmp 0x100264d1
xor edx, edx
inc edx
jmp 0x100264d1
push dword [esp + 0x20]
push esi
call fcn.10026d4b
mov ebx, eax
mov dword [esp + 0x40], edx
push ebp
push edi
mov dword [esp + 0x64], ebx
call fcn.10026d4b
add esp, 0x10
mov dword [esp + 0x5c], edx
mov esi, eax
cmp dword [esp + 0x38], edx
jb 0x100263eb
ja 0x10026348
cmp ebx, esi
jbe 0x100263eb
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push edx
push ebx
call fcn.10026d4b
movzx ecx, byte [esp + 0x8c]
mov ebx, eax
push dword [esp + 0x40]
mov ebp, dword [esp + 0x68]
xor eax, eax
push dword [esp + 0x60]
mov dword [esp + 0x28], edx
imul edx, esi, 0xa
cmp edi, edx
mov edi, esi
cmove eax, ecx
movzx ecx, byte [esp + 0x8c]
xor edx, edx
mov byte [esp + 0x94], al
cmp byte [esp + 0x22], dl
movzx eax, bl
cmove edx, ecx
mov cl, byte [esp + 0x24]
imul eax, eax, 0xa
mov byte [esp + 0x8c], dl
mov dword [esp + 0x24], ebx
sub cl, al
inc dword [esp + 0x2c]
mov byte [esp + 0x22], cl
call fcn.10026d4b
push ebp
push esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x50], edx
call fcn.10026d4b
mov esi, eax
add esp, 0x18
mov eax, edx
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x38], eax
ja 0x1002634c
jb 0x100263ef
cmp dword [esp + 0x54], esi
ja 0x1002634c
jmp 0x100263ef
mov ebx, dword [esp + 0x14]
mov ch, byte [esp + 0x84]
test ch, ch
je 0x10026498
push ebp
push edi
call fcn.10026d4b
pop ecx
pop ecx
imul ecx, eax, 0xa
mov esi, edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edx
sub esi, ecx
mov esi, dword [esp + 0x18]
jne 0x10026471
push esi
push ebx
call fcn.10026d4b
cmp byte [esp + 0x1a], 0
mov esi, edx
sete cl
and byte [esp + 0x84], cl
movzx ecx, al
imul ecx, ecx, 0xa
sub bl, cl
mov ecx, dword [esp + 0x64]
inc dword [esp + 0x24]
mov ebp, ecx
mov byte [esp + 0x1a], bl
mov ebx, eax
mov eax, dword [esp + 0x68]
mov edi, eax
push ecx
push eax
call fcn.10026d4b
mov dword [esp + 0x70], eax
mov ecx, edi
imul eax, eax, 0xa
add esp, 0x10
mov dword [esp + 0x5c], edx
sub ecx, eax
je 0x1002641c
mov dword [esp + 0x14], ebx
mov ch, byte [esp + 0x84]
mov cl, byte [esp + 0x12]
xor edx, edx
cmp byte [esp + 0x7c], dl
je 0x1002649e
cmp cl, 5
jne 0x1002649e
mov eax, ebx
inc edx
and eax, edx
xor ebx, ebx
or eax, ebx
jne 0x100264a1
dec cl
jmp 0x100264a1
mov esi, dword [esp + 0x18]
jmp 0x10026478
xor ebx, ebx
inc edx
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x100264b8
cmp esi, ebp
jne 0x100264b8
cmp byte [esp + 0x13], 0
je 0x100264d1
test ch, ch
je 0x100264d1
cmp cl, 5
jae 0x100264d1
xorps xmm0, xmm0
movlpd qword [esp + 0x7c], xmm0
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x24]
add edx, eax
mov eax, dword [esp + 0x78]
adc ebx, esi
add ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax], edx
pop ebx
add esp, 0x64
ret