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

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
sub esp, 0x6c
movzx eax, byte [esp + 0x88]
mov dword [esp + 0x30], ecx
mov byte [esp + 0x20], al
xor al, 1
movzx eax, al
mov dword [esp + 0x44], eax
call fcn.6fd65780
mov ebx, dword [esp + 0x84]
test ebx, ebx
js 0x6fde5655
mov eax, dword [edi + 0xbc]
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x2c], ebp
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x28], edi
fild qword [esp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
fild qword [esp + 0x28]
lea edx, [eax + 1]
xor eax, eax
fdivp st(1)
fldz
nop
inc eax
cmp eax, edx
fadd st(1)
jne 0x6fde4b40
fstp st(1)
mov edi, dword [esp + 0x30]
mov eax, dword [edi + 0xc8]
mov ecx, dword [edi + 0xcc]
imul eax, ecx
cmp byte [esp + 0x20], 0
mov dword [esp + 0x28], eax
jne 0x6fde5161
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x84]
test edi, edi
jle 0x6fde5809
mov esi, dword [esp + 0x80]
shl eax, 2
add esi, eax
mov ecx, dword [esi]
cmp dword [ecx + 0x40], 5
jne 0x6fde5812
mov edx, dword [esp + 0x80]
lea eax, [edx + eax - 4]
mov edx, dword [esp + 0x84]
jmp 0x6fde4bc1
mov ecx, dword [eax]
mov esi, eax
sub eax, 4
cmp dword [ecx + 0x40], 5
jne 0x6fde50ca
dec edx
jne 0x6fde4bb0
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0xbc]
mov esi, dword [eax + 0x90]
test esi, esi
jne 0x6fde4e87
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x20], 0
mov eax, dword [eax]
jne 0x6fde50fe
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x34]
mov ebx, dword [eax + 0x2c30]
lea esi, [edx + edi*4]
mov edx, dword [esi]
mov ecx, dword [edx + 0x2c30]
mov dword [edx + 0x2c30], ebx
mov dword [eax + 0x2c30], ecx
mov eax, dword [esp + 0x28]
add eax, eax
mov ecx, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x80]
cmp ecx, 8
mov edx, ecx
mov eax, dword [eax]
mov edi, dword [eax + 0x2c30]
jae 0x6fde4ec1
test dl, 4
je 0x6fde4c50
mov dword [edi], 0
add edi, 4
test dl, 2
je 0x6fde4c5d
mov word [edi], 0
add edi, 2
test dl, 1
je 0x6fde4c65
mov byte [edi], 0
mov eax, dword [esp + 0x84]
xor ecx, ecx
mov edi, dword [esp + 0x30]
mov dword [esp + 0x4c], ecx
inc eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0x10]
fild dword [esp + 0x20]
cmp dword [esp + 0x44], eax
mov dword [esp + 0x28], edx
lea ebp, [eax - 1]
fdivp st(1)
fstp qword [esp + 0x20]
jge 0x6fde5053
lea esi, [esi]
mov esi, dword [esp + 0x80]
lea eax, [ebp*4]
add esi, eax
test ebp, ebp
jle 0x6fde53bf
mov edx, dword [esi]
cmp dword [edx + 0x40], 5
jne 0x6fde53bf
mov edx, dword [esp + 0x80]
mov ebx, ebp
lea eax, [edx + eax - 4]
jmp 0x6fde4cd7
test ebx, ebx
jle 0x6fde4ce5
mov esi, eax
dec ebx
mov edx, dword [esi]
sub eax, 4
cmp dword [edx + 0x40], 5
je 0x6fde4cd3
cmp dword [esp + 0x44], ebx
jg 0x6fde53a2
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.6fde2e20
mov eax, dword [esi]
mov eax, dword [eax + 0x2c30]
sub esp, 0x10
mov ecx, dword [esp + 0x48]
mov edi, eax
cmp ecx, 8
mov edx, ecx
jae 0x6fde4fb0
test dl, 4
je 0x6fde4d3c
mov dword [edi], 0
add edi, 4
test dl, 2
je 0x6fde4d49
mov word [edi], 0
add edi, 2
test dl, 1
je 0x6fde4d51
mov byte [edi], 0
mov eax, dword [esp + 0x34]
sub eax, ebx
lea edi, [eax - 1]
mov dword [esp + 0x4c], edi
dec edi
setg byte [esp + 0x53]
jle 0x6fde4f00
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0xbc]
mov edx, dword [edx + 0x8c]
test edx, edx
je 0x6fde4f00
mov edx, eax
mov ecx, dword [esp + 0x28]
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, ebx
mov edi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.6fde2e20
sub esp, 0x10
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + edi*4]
cmp ecx, 8
mov edx, ecx
mov eax, dword [eax + 0x2c30]
mov edi, eax
jae 0x6fde5022
test dl, 4
je 0x6fde4de8
mov dword [edi], 0
add edi, 4
test dl, 2
je 0x6fde4df5
mov word [edi], 0
add edi, 2
test dl, 1
je 0x6fde4dfd
mov byte [edi], 0
cmp ebp, ebx
jle 0x6fde564e
mov dword [esp + 0x54], esi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x40], ebx
jmp 0x6fde4e77
jle 0x6fde5887
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.6fde2e20
sub esp, 0x10
mov ecx, dword [esp + 0x30]
fld qword [esp + 0x20]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
fstp qword [esp + 4]
mov dword [esp + 0xc], esi
mov dword [esp], edi
call fcn.6fddf9d0
sub esp, 0x18
dec ebp
cmp ebp, dword [esp + 0x40]
je 0x6fde4fe1
cmp dword [esp + 0x38], ebp
jge 0x6fde4e20
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
jmp 0x6fde4e2e
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x44], edi
jg 0x6fde50b8
mov eax, dword [esp + 0x80]
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov ecx, dword [eax]
mov esi, eax
mov eax, dword [esp + 0x28]
mov edi, dword [ecx + 0x2c30]
add eax, eax
cmp eax, 8
mov edx, eax
mov dword [esp + 0x48], eax
jb 0x6fde4c42
test edi, 1
jne 0x6fde57a6
test edi, 2
jne 0x6fde57b6
test edi, 4
jne 0x6fde5795
mov ecx, edx
xor eax, eax
shr ecx, 2
and edx, 3
rep stosd dword es:[edi], eax
jmp 0x6fde4c42
cmp ebp, ebx
mov edi, ebp
jle 0x6fde4f69
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x34]
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.6fde2e20
sub esp, 0x10
mov ecx, dword [esp + 0x30]
fld qword [esp + 0x20]
mov dword [esp + 0x14], ebp
dec ebp
mov dword [esp + 0x10], esi
fstp qword [esp + 4]
mov dword [esp + 0xc], ebx
mov dword [esp], edi
call fcn.6fddf9d0
sub esp, 0x18
cmp ebp, ebx
jne 0x6fde4f20
mov esi, dword [esp + 0x38]
mov edi, ebx
mov eax, dword [esp + 0x34]
lea ebp, [edi - 1]
mov ecx, dword [esp + 0x30]
fld qword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], eax
fstp qword [esp + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.6fde1450
sub esp, 0x18
cmp edi, dword [esp + 0x44]
jle 0x6fde505a
mov dword [esp + 0x34], ebx
jmp 0x6fde4ca0
test al, 1
jne 0x6fde53e7
test edi, 2
jne 0x6fde53d7
test edi, 4
jne 0x6fde53c6
mov ecx, edx
xor eax, eax
shr ecx, 2
and edx, 3
rep stosd dword es:[edi], eax
jmp 0x6fde4d2e
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x54]
mov edi, ebx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
fld qword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
fstp qword [esp + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.6fde1450
sub esp, 0x18
jmp 0x6fde4f69
test al, 1
jne 0x6fde5785
test edi, 2
jne 0x6fde5775
test edi, 4
jne 0x6fde5764
mov ecx, edx
xor eax, eax
shr ecx, 2
and edx, 3
rep stosd dword es:[edi], eax
jmp 0x6fde4dda
mov ebx, eax
mov byte [esp + 0x53], 0
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0xbc]
mov eax, dword [eax + 0x90]
test eax, eax
je 0x6fde55d5
fld qword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x30]
fstp qword [esp + 4]
mov eax, dword [esi]
mov ecx, edi
mov dword [esp], eax
call fcn.6fde0980
mov eax, dword [edi + 0xbc]
sub esp, 0x10
cmp byte [esp + 0x53], 0
je 0x6fde50c0
mov ebp, dword [eax + 0x8c]
test ebp, ebp
je 0x6fde50c0
mov edi, dword [eax + 0x184]
test edi, edi
je 0x6fde5426
jmp 0x6fde50c0
fstp st(0)
jmp 0x6fde50c0
fstp st(0)
nop
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0xbc]
mov edx, dword [eax + 0x90]
test edx, edx
jne 0x6fde4ea6
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x20], 0
mov eax, dword [eax]
je 0x6fde4bf4
fstp st(0)
jmp 0x6fde5100
fstp st(0)
mov edx, dword [esp + 0x28]
mov edi, dword [eax + 0x2c30]
add edx, edx
cmp edx, 8
jae 0x6fde5567
test dl, 4
jne 0x6fde5412
test dl, 2
jne 0x6fde53ff
test dl, 1
jne 0x6fde53f7
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
shl ecx, 3
cmp ecx, 8
mov edi, dword [eax + 0x2bf4]
mov esi, dword [eax + 0x2bf0]
jae 0x6fde559c
rep movsb byte es:[edi], byte [esi]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x34], eax
test edx, edx
js 0x6fde5184
mov eax, dword [eax + 0x1498]
cmp dword [eax], 0xffffffff
jne 0x6fde4b6b
mov eax, dword [esp + 0x30]
xor edx, edx
xor ecx, ecx
xor ebx, ebx
xor esi, esi
xor edi, edi
mov dword [eax + 0x98], edx
mov edx, dword [esp + 0x80]
mov ebp, dword [eax + 0x90]
mov byte [eax + 0x60], 0
mov byte [eax + 0x94], 0
mov dword [eax + 0x48], edx
mov edx, dword [esp + 0x34]
test ebp, ebp
mov byte [eax + 0x95], 0
mov dword [eax + 0x9c], ecx
mov dword [eax + 0xa0], ebx
mov dword [edx + 0x58], 0
mov dword [edx + 0x5c], 0
mov dword [edx + 0xa78], esi
mov dword [edx + 0xa7c], edi
jle 0x6fde5822
xor ecx, ecx
mov ebx, dword [esp + 0x34]
cmp byte [edx + 0x50], 0
mov edx, 0
jne 0x6fde565c
mov esi, eax
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esi + 0x34]
xor edi, edi
xor ebp, ebp
add eax, ecx
mov dword [eax + 0x8c], edi
xor edi, edi
mov dword [eax + 0x80], ebp
xor ebp, ebp
mov dword [eax + 0x84], edi
mov edi, dword [ebx + 0x18]
mov dword [eax + 0x88], ebp
mov ebp, dword [ebx + 4]
mov byte [eax + 0x6c], 0
mov dword [eax + 0x70], 0
mov dword [eax + 0x74], 0
mov dword [eax + 0x78], 0
mov dword [eax + 0x7c], 0
mov dword [eax + 0x68], 0
mov eax, dword [esi + 0x34]
add eax, ecx
add ecx, 0xa0
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], edi
mov eax, dword [ebx + 0x1498]
mov dword [eax + edx*4], 0
inc edx
mov eax, dword [esi + 0x90]
cmp edx, eax
jl 0x6fde5210
mov edi, dword [esp + 0x30]
mov edx, dword [edi + 0x14]
lea ebx, [edi + 0x10]
mov byte [edi + 0x96], 0
test edx, edx
je 0x6fde57c6
mov ecx, ebx
fstp qword [esp + 0x38]
call fcn.6fdec650
mov ecx, ebx
mov dword [esp], 0
call fcn.6fdc0790
sub esp, 4
mov eax, dword [esp + 0x30]
fld qword [esp + 0x38]
movzx eax, byte [eax + 0x96]
test al, al
jne 0x6fde5300
mov esi, dword [esp + 0x30]
fstp qword [esp + 0x38]
nop
lea esi, [esi]
mov dword [esp], 0xffffffff
mov ecx, ebx
call fcn.6fdc0330
movzx eax, byte [esi + 0x96]
sub esp, 4
test al, al
je 0x6fde52e0
fld qword [esp + 0x38]
mov ecx, ebx
fstp qword [esp + 0x38]
call fcn.6fdec7d0
fld qword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x90]
test edx, edx
jle 0x6fde5395
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 0x170]
mov ebp, dword [ecx + 0x5c]
test eax, eax
mov edi, dword [ecx + 0x58]
mov esi, dword [ecx + 0x19a8]
jne 0x6fde56e0
mov ecx, dword [esp + 0x38]
lea ebx, [edx + edx*4]
mov eax, esi
shl ebx, 5
mov esi, edi
mov edi, ebp
mov ebp, eax
add ebx, ecx
lea esi, [esi]
mov eax, dword [ecx + 0x8c]
cdq
add esi, eax
mov eax, dword [ecx + 0x88]
adc edi, edx
add ecx, 0xa0
add ebp, eax
cmp ecx, ebx
jne 0x6fde5360
mov eax, ebp
mov ebp, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x34]
mov dword [eax + 0x58], edi
mov dword [eax + 0x5c], ebp
mov dword [eax + 0x19a8], esi
mov eax, dword [esp + 0x34]
mov byte [eax + 0x50], 1
jmp 0x6fde4b6b
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x4c], 1
lea esi, [eax + ebx*4]
setg byte [esp + 0x53]
jmp 0x6fde505a
mov ebx, ebp
jmp 0x6fde4ce5
mov dword [edi], 0
sub edx, 4
add edi, 4
jmp 0x6fde4fd0
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x6fde4fc4
mov byte [eax], 0
inc edi
mov eax, dword [esp + 0x48]
lea edx, [eax - 1]
jmp 0x6fde4fb8
mov byte [edi], 0
jmp 0x6fde5130
mov word [edi], 0
add edi, 2
test dl, 1
je 0x6fde5130
jmp 0x6fde53f7
mov dword [edi], 0
add edi, 4
test dl, 2
je 0x6fde5127
jmp 0x6fde53ff
mov edx, dword [esp + 0x4c]
fld qword [0x707658d8]
fld qword [esp + 0x20]
mov edi, dword [eax + 0x3c]
inc edx
sar edx, 1
add ebx, edx
mov edx, dword [esp + 0x80]
fcomi st(1)
fcmovb st(0), st(1)
mov dword [esp + 0x20], edi
mov edi, dword [eax + 0x38]
mov edx, dword [edx + ebx*4]
fld1
fcomi st(1)
fxch st(1)
fcmovb st(0), st(1)
xor ebp, ebp
mov dword [esp + 0x24], ebp
xor ebp, ebp
fild qword [esp + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x24], ebp
fild qword [esp + 0x20]
fnstcw word [esp + 0x5e]
fdivp st(1)
movzx ecx, word [esp + 0x5e]
fcomi st(3)
fcmovb st(0), st(3)
fstp st(3)
fxch st(1)
fcomi st(2)
fxch st(2)
fcmovb st(0), st(2)
or cx, 0xc00
mov word [esp + 0x5c], cx
fdivp st(1)
mov ecx, dword [edi + 0xc8]
mov esi, dword [edi + 0xcc]
imul ecx, esi
test ecx, ecx
fmul dword [0x707658e4]
fldcw word [esp + 0x5c]
fistp dword [esp + 0x28]
fldcw word [esp + 0x5e]
fsub qword [eax + 0x148]
fmul dword [0x707658e8]
jle 0x6fde50bc
mov ebx, dword [edx + 0x2bf8]
xor eax, eax
mov esi, dword [edx + 0x19f0]
fld1
lea ebp, [ecx + ecx]
mov dword [esp + 0x30], ebx
lea esi, [esi]
lea edi, [edi]
mov edi, dword [esp + 0x30]
mov ecx, dword [esi + eax*2]
mov ebx, dword [edi + eax*2]
imul ecx, ebx
sub ecx, 0xffffff80
sar ecx, 8
je 0x6fde5557
mov edi, dword [edx + 0x2c30]
mov ebx, dword [esp + 0x28]
movzx edi, word [edi + eax]
imul edi, ebx
mov ebx, dword [edx + 0x2bf0]
sub edi, 0xffffff80
sar edi, 8
add edi, ecx
mov dword [esp + 0x20], edi
mov edi, dword [edx + 0x2bf4]
fild dword [esp + 0x20]
mov dword [esp + 0x20], ecx
lea ecx, [eax*4]
fld st(1)
fxch st(1)
fyl2x
fild dword [esp + 0x20]
fld st(2)
fxch st(1)
fyl2x
fsubp st(1)
fmul st(2)
fsubr qword [ebx + ecx]
fstp qword [edi + ecx]
add eax, 2
cmp eax, ebp
jne 0x6fde54f0
fstp st(0)
fstp st(0)
jmp 0x6fde50c0
test edi, 1
jne 0x6fde5849
test edi, 2
jne 0x6fde5839
test edi, 4
jne 0x6fde5876
mov ecx, edx
xor eax, eax
shr ecx, 2
and edx, 3
rep stosd dword es:[edi], eax
jmp 0x6fde5115
test edi, 1
jne 0x6fde5868
test edi, 2
jne 0x6fde5853
test edi, 4
je 0x6fde5155
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
rep movsb byte es:[edi], byte [esi]
jmp 0x6fde5157
xor eax, eax
mov edi, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
lea ecx, [edi + 0x10]
mov dword [esp], eax
call fcn.6fde2e20
xor eax, eax
mov ecx, edi
sub esp, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x80]
fld qword [esp + 0x20]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.6fde1450
mov edx, dword [esi]
mov ecx, dword [edx + 0x2c30]
sub esp, 0x18
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov edi, dword [eax + 0x2c30]
mov dword [edx + 0x2c30], edi
mov dword [eax + 0x2c30], ecx
jmp 0x6fde5072
mov edi, ebp
jmp 0x6fde4feb
fldz
jmp 0x6fde4b49
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 0x34]
xor edi, edi
xor ebp, ebp
add eax, ecx
mov dword [eax + 0x8c], edi
xor edi, edi
mov dword [eax + 0x80], ebp
xor ebp, ebp
mov dword [eax + 0x84], edi
mov edi, dword [ebx + 0x18]
mov dword [eax + 0x88], ebp
mov ebp, dword [ebx + 4]
mov byte [eax + 0x6c], 0
mov dword [eax + 0x70], 0
mov dword [eax + 0x74], 0
mov dword [eax + 0x78], 0
mov dword [eax + 0x7c], 0
mov dword [eax + 0x68], 0
mov eax, dword [esi + 0x34]
add eax, ecx
add ecx, 0xa0
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], edi
mov eax, dword [ebx + 0x1498]
mov dword [eax + edx*4], 0
inc edx
mov eax, dword [esi + 0x90]
cmp edx, eax
jl 0x6fde5660
jmp 0x6fde528b
mov eax, ecx
mov ecx, dword [ecx + 0xa78]
mov ebx, dword [eax + 0xa7c]
lea edx, [edx + edx*4]
mov eax, dword [esp + 0x38]
shl edx, 5
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
mov edi, ecx
mov ebp, ebx
add edx, eax
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [eax + 0x8c]
mov ebx, ecx
sar ebx, 0x1f
add dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x78]
adc dword [esp + 0x3c], ebx
add ecx, dword [eax + 0x80]
mov ebx, dword [eax + 0x7c]
adc ebx, dword [eax + 0x84]
add edi, ecx
mov ecx, dword [esp + 0x34]
adc ebp, ebx
add eax, 0xa0
mov dword [ecx + 0xa78], edi
mov dword [ecx + 0xa7c], ebp
mov ecx, dword [eax - 0x18]
add esi, ecx
cmp eax, edx
jne 0x6fde5710
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
jmp 0x6fde5385
mov dword [edi], 0
sub edx, 4
add edi, 4
jmp 0x6fde5042
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x6fde5036
mov byte [eax], 0
inc edi
mov eax, dword [esp + 0x48]
lea edx, [eax - 1]
jmp 0x6fde502a
mov dword [edi], 0
sub edx, 4
add edi, 4
jmp 0x6fde4ee5
mov byte [edi], 0
inc edi
mov eax, dword [esp + 0x48]
lea edx, [eax - 1]
jmp 0x6fde4ecd
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x6fde4ed9
xor edi, edi
test eax, eax
jle 0x6fde57f7
mov esi, dword [esp + 0x30]
fstp qword [esp + 0x38]
mov eax, 0xffffffff
mov ecx, ebx
mov dword [esp], edi
inc edi
mov dword [esp + 4], eax
call fcn.6fde84f0
sub esp, 8
cmp edi, dword [esi + 0x90]
jl 0x6fde57d4
fld qword [esp + 0x38]
fstp qword [esp + 0x38]
call fcn.6fd65780
fld qword [esp + 0x38]
jmp 0x6fde530f
mov dword [esp + 0x34], eax
jmp 0x6fde4bc8
mov eax, dword [esp + 0x84]
mov dword [esp + 0x34], eax
jmp 0x6fde50ce
lea ebx, [eax + 0x10]
mov byte [eax + 0x96], 0
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x6fde52a4
jmp 0x6fde57f7
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x6fde557f
mov byte [edi], 0
dec edx
inc edi
jmp 0x6fde5573
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x6fde55b4
movzx eax, byte [esi]
inc edi
inc esi
dec ecx
mov byte [edi - 1], al
jmp 0x6fde55a8
mov dword [edi], 0
sub edx, 4
add edi, 4
jmp 0x6fde558b
cmp ebp, dword [esp + 0x38]
je 0x6fde4e6c
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x34]
jmp 0x6fde4e2e