Function at 0x100dabc0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x400bc
call fcn.10059010
push ebx
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0xbc], 0
push esi
push edi
je 0x100dabf5
push 0x1016b92c
call fcn.1005a8d7
add eax, 0x40
push eax
call fcn.1015203d
add esp, 8
xor esi, esi
mov dword [esp + 0x10], esi
jmp 0x100dac00
fild dword [esp + 0x10]
fdiv qword [0x10162968]
fstp dword [esp + 0xc]
fld dword [0x1016b928]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100dac38
fld qword [0x1016b920]
call fcn.10151b50
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jmp 0x100dac44
fmul qword [0x1016b918]
fadd qword [0x1016b910]
fstp dword [esp + esi*4 + 0xc8]
inc esi
cmp esi, 0x10000
mov dword [esp + 0x10], esi
jl 0x100dac00
fldz
lea ecx, [esp + 0x98]
mov dword [esp + 0x1c], ecx
mov esi, 0x10167c90
mov edx, 0x10167c50
mov edi, dword [ebx + 0x66d0]
test edi, edi
jle 0x100dacd1
lea eax, [ebx + 0xe7d4]
fst dword [ecx]
add eax, 4
fld dword [eax - 0x14]
add ecx, 4
sub edi, 1
fmul qword [edx - 8]
fdiv dword [esi]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ecx - 4]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [eax - 4]
fmul qword [edx]
fdiv dword [esi]
fstp dword [esp + 0xc]
fadd dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [eax + 0xc]
fmul qword [edx + 8]
fdiv dword [esi]
fstp dword [esp + 0xc]
fadd dword [esp + 0xc]
fstp dword [ecx - 4]
jne 0x100dac7f
mov ecx, dword [esp + 0x1c]
add edx, 0x18
add ecx, 0x10
add esi, 4
cmp edx, 0x10167c98
mov dword [esp + 0x1c], ecx
jl 0x100dac6f
push 5
fstp st(0)
push ebx
call fcn.100d9b00
push 0x1a0000
call fcn.10054f2b
push 0x1016b8f8
push eax
push ebx
mov dword [esp + 0x58], eax
call fcn.100cd240
movzx eax, word [ebx + 0x66b4]
sub eax, 5
add esp, 0x18
cmp eax, 2
mov dword [esp + 0x38], 2
jle 0x100dba7b
fld qword [0x10161ed8]
fld qword [0x10161d90]
fld qword [0x1016b8f0]
fld qword [0x1016b8e8]
fld qword [0x1016b8e0]
movzx ecx, word [ebx + 0x66b6]
sub ecx, 5
cmp ecx, 2
mov dword [esp + 0x24], 2
jle 0x100dba52
mov eax, dword [esp + 0x38]
neg eax
mov dword [esp + 0x48], eax
nop
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
lea eax, [ecx + 0x100]
cmp ecx, eax
mov dword [esp + 0x14], ecx
jge 0x100daf78
mov eax, esi
neg eax
mov dword [esp + 0x18], eax
movzx edx, word [ebx + 0x66b4]
sub edx, 2
cmp dword [esp + 0x14], edx
jge 0x100daf78
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 0x65b0]
and eax, 7
add eax, eax
mov ecx, esi
and ecx, 1
add ecx, eax
add ecx, ecx
mov edx, edi
shr edx, cl
and edx, 1
add edx, esi
mov ecx, edx
and ecx, 1
add ecx, eax
add ecx, ecx
shr edi, cl
lea eax, [esi + 0x100]
mov dword [esp + 0x20], edx
and edi, 3
cmp edx, eax
mov dword [esp + 0x10], edi
jge 0x100daf56
jmp 0x100dadf1
mov edi, dword [esp + 0x10]
movzx eax, word [ebx + 0x66b6]
lea ecx, [eax - 2]
cmp edx, ecx
jge 0x100daf56
imul eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x66e0]
add eax, edx
movzx esi, word [ecx + eax*8 - 6]
lea eax, [ecx + eax*8]
movzx ecx, word [eax + 0xa]
movzx ecx, cx
add esi, ecx
movzx ecx, word [eax + edi*2]
add esi, ecx
add esi, esi
mov ecx, esi
movzx esi, word [eax + edi*2 - 0x10]
sub ecx, esi
movzx esi, word [eax + edi*2 + 0x10]
movzx edi, word [eax - 6]
sub ecx, esi
movzx esi, word [eax + 0xa]
sar ecx, 2
cmp di, si
mov edi, ecx
jae 0x100dae63
movzx esi, word [eax + 0xa]
cmp ecx, esi
jl 0x100dae55
mov edi, esi
movzx esi, word [eax - 6]
cmp esi, edi
jg 0x100dae7d
movzx esi, word [eax + 0xa]
jmp 0x100dae79
movzx esi, word [eax - 6]
cmp ecx, esi
jl 0x100dae6d
mov edi, esi
movzx esi, word [eax + 0xa]
cmp esi, edi
jg 0x100dae7d
movzx esi, word [eax - 6]
cmp ecx, esi
jl 0x100dae7f
mov ecx, esi
mov esi, dword [esp + 0x18]
add edx, esi
mov esi, dword [esp + 0x40]
lea edx, [edx + edx*2]
lea edx, [esi + edx*2]
mov word [edx + 2], cx
movzx ecx, word [ebx + 0x66b6]
add ecx, ecx
mov dword [esp + 0x44], edx
add ecx, ecx
add ecx, ecx
mov edx, eax
sub edx, ecx
movzx edi, word [edx + 2]
movzx edx, word [ecx + eax + 2]
mov dword [esp + 0xc], edx
movzx edx, dx
movzx esi, di
add edx, esi
mov esi, dword [esp + 0x10]
movzx esi, word [eax + esi*2]
add edx, esi
mov esi, dword [esp + 0x10]
add esi, ecx
movzx esi, word [eax + esi*2]
add edx, edx
sub edx, esi
mov esi, dword [esp + 0x10]
sub esi, ecx
movzx ecx, word [eax + esi*2]
sub edx, ecx
movzx ecx, word [ebx + 0x66b6]
add ecx, ecx
add ecx, ecx
sar edx, 2
add ecx, ecx
cmp di, word [esp + 0xc]
mov edi, edx
jae 0x100daf0d
movzx esi, word [ecx + eax + 2]
cmp edx, esi
jl 0x100daf05
mov edi, esi
sub eax, ecx
movzx eax, word [eax + 2]
jmp 0x100daf20
mov esi, eax
sub esi, ecx
movzx esi, word [esi + 2]
cmp edx, esi
jl 0x100daf1b
mov edi, esi
movzx eax, word [ecx + eax + 2]
cmp eax, edi
jle 0x100daf28
mov edx, eax
jmp 0x100daf2e
cmp edx, esi
jl 0x100daf2e
mov edx, esi
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x24]
mov word [eax + 0x60002], dx
mov edx, dword [esp + 0x20]
add edx, 2
lea eax, [esi + 0x100]
cmp edx, eax
mov dword [esp + 0x20], edx
jl 0x100daded
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
add dword [esp + 0x18], 0x100
inc ecx
add eax, 0x100
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x100dad92
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], 2
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
add eax, 0xff
cmp ecx, eax
mov dword [esp + 0x14], ecx
jge 0x100db3ff
lea edx, [ecx*4 + 4]
mov dword [esp + 0x10], edx
movzx eax, word [ebx + 0x66b4]
sub eax, 3
cmp ecx, eax
jge 0x100db3ff
lea edx, [esi + 1]
lea eax, [esi + 0xff]
cmp edx, eax
mov dword [esp + 0x20], edx
jge 0x100db3e4
jmp 0x100dafd8
mov edx, dword [esp + 0x20]
movzx eax, word [ebx + 0x66b6]
lea edi, [eax - 3]
cmp edx, edi
jge 0x100db3e4
mov edi, dword [ebx + 0x66e0]
imul eax, ecx
add eax, edx
lea edi, [edi + eax*8]
mov eax, dword [esp + 0x18]
add eax, ecx
shl eax, 8
sub eax, esi
mov esi, dword [esp + 0x40]
add eax, edx
and edx, 1
lea eax, [eax + eax*2]
add eax, eax
and ecx, 7
lea ecx, [edx + ecx*2]
add esi, eax
add ecx, ecx
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x65b0]
mov dword [esp + 0xc], edx
mov edx, eax
shr edx, cl
mov dword [esp + 0x44], ecx
mov ecx, 2
and edx, 3
sub ecx, edx
cmp ecx, 1
jne 0x100db0e3
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
and ecx, 0x1c
lea ecx, [ecx + edx*2]
shr eax, cl
mov edx, edi
and eax, 3
mov ecx, eax
neg eax
mov dword [esp + 0x1c], eax
lea eax, [ecx + ecx + 4]
sub edx, eax
movzx eax, word [edx]
mov edx, dword [esp + 0x1c]
movzx edx, word [edi + edx*2 + 0xc]
add eax, edx
movzx edx, word [esi + 8]
sub eax, edx
movzx edx, word [esi - 4]
sub eax, edx
movzx edx, word [edi + 2]
sar eax, 1
add eax, edx
cmp eax, 0xffff
jge 0x100db09c
xor edx, edx
test eax, eax
setl dl
dec edx
and eax, edx
jmp 0x100db0a1
mov eax, 0xffff
mov edx, dword [esp + 0x1c]
mov word [esi + edx*2 + 4], ax
movzx edx, word [ebx + 0x66b6]
add edx, edx
add edx, edx
lea eax, [edx + ecx]
movzx eax, word [edi + eax*2]
mov ebx, ecx
sub ebx, edx
movzx edx, word [edi + ebx*2]
mov ebx, dword [ebp + 8]
add eax, edx
movzx edx, word [esi + 0x602]
sub eax, edx
movzx edx, word [esi - 0x5fe]
sub eax, edx
movzx edx, word [edi + 2]
sar eax, 1
jmp 0x100db147
movzx eax, word [ebx + 0x66b6]
add eax, eax
add eax, eax
mov edx, ecx
sub edx, eax
mov dword [esp + 0x1c], edx
lea edx, [eax + ecx]
movzx eax, word [edi + edx*2 - 8]
movzx edx, word [edi + edx*2 + 8]
add eax, edx
mov edx, dword [esp + 0x1c]
movzx edx, word [edi + edx*2 - 8]
add eax, edx
mov edx, dword [esp + 0x1c]
movzx edx, word [edi + edx*2 + 8]
add eax, edx
movzx edx, word [esi + 0x608]
sub eax, edx
movzx edx, word [esi - 0x604]
sub eax, edx
movzx edx, word [esi + 0x5fc]
sub eax, edx
movzx edx, word [esi - 0x5f8]
sub eax, edx
movzx edx, word [esi + 2]
inc eax
sar eax, 2
add eax, edx
cmp eax, 0xffff
jge 0x100db15c
xor edx, edx
test eax, eax
setl dl
dec edx
and eax, edx
jmp 0x100db161
mov eax, 0xffff
fld dword [0x101a3850]
mov word [esi + ecx*2], ax
mov eax, dword [ebx + 0x65b0]
fst dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
fst dword [esp + 0x2c]
shr eax, cl
fstp dword [esp + 0x28]
and eax, 3
mov cx, word [edi + eax*2]
mov word [esi + eax*2], cx
mov edx, dword [ebx + 0x66d0]
xor eax, eax
cmp edx, 4
jl 0x100db2a6
lea ecx, [esi + 4]
movzx edi, word [ecx - 4]
mov dword [esp + 0xc], edi
movzx edi, word [ecx - 2]
fild dword [esp + 0xc]
fld dword [esp + eax*4 + 0x98]
mov dword [esp + 0xc], edi
movzx edi, word [ecx]
fmul st(1)
add eax, 4
fadd dword [esp + 0x28]
add ecx, 8
fstp dword [esp + 0x28]
fld dword [esp + eax*4 + 0x98]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fmul dword [esp + eax*4 + 0xa8]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fild dword [esp + 0xc]
mov dword [esp + 0xc], edi
fld dword [esp + eax*4 + 0x8c]
movzx edi, word [ecx - 6]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + eax*4 + 0x9c]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fmul dword [esp + eax*4 + 0xac]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fild dword [esp + 0xc]
mov dword [esp + 0xc], edi
fld dword [esp + eax*4 + 0x90]
lea edi, [edx - 3]
cmp eax, edi
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + eax*4 + 0xa0]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fmul dword [esp + eax*4 + 0xb0]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fild dword [esp + 0xc]
fld dword [esp + eax*4 + 0x94]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + eax*4 + 0xa4]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fmul dword [esp + eax*4 + 0xb4]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
jl 0x100db1a2
cmp eax, edx
jge 0x100db2ec
movzx ecx, word [esi + eax*2]
mov dword [esp + 0xc], ecx
inc eax
cmp eax, edx
fild dword [esp + 0xc]
fld dword [esp + eax*4 + 0x94]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + eax*4 + 0xa4]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fmul dword [esp + eax*4 + 0xb4]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
jl 0x100db2aa
fld dword [esp + 0x28]
call fcn.10059580
cmp eax, 0xffff
jge 0x100db30b
test eax, eax
jge 0x100db304
xor eax, eax
jmp 0x100db310
cmp eax, 0xffff
jl 0x100db310
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc8]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
call fcn.10059580
cmp eax, 0xffff
jge 0x100db33a
test eax, eax
jge 0x100db333
xor eax, eax
jmp 0x100db33f
cmp eax, 0xffff
jl 0x100db33f
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
call fcn.10059580
cmp eax, 0xffff
jge 0x100db369
test eax, eax
jge 0x100db362
xor eax, eax
jmp 0x100db36e
cmp eax, 0xffff
jl 0x100db36e
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc8]
fstp dword [esp + 0x30]
fld dword [esp + 0x2c]
fld st(0)
fmul st(6)
fsub st(5)
fmul st(4)
call fcn.10059580
fld dword [esp + 0x28]
mov esi, dword [esp + 0x34]
fsub st(1)
mov edi, dword [esp + 0x40]
mov word [esi + edi + 0xc0000], ax
fmul st(3)
call fcn.10059580
fsub dword [esp + 0x30]
mov word [esi + edi + 0xc0002], ax
fmul st(1)
call fcn.10059580
mov ecx, dword [esp + 0x20]
mov word [esi + edi + 0xc0004], ax
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x24]
inc ecx
add eax, 0xff
mov dword [esp + 0x20], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x14]
jl 0x100dafd4
mov eax, dword [esp + 0x38]
add dword [esp + 0x10], 4
inc ecx
add eax, 0xff
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x100dafab
add dword [esp + 0x18], 0x100
sub dword [esp + 0x3c], 1
jne 0x100daf88
mov esi, dword [esp + 0x40]
fstp st(4)
fstp st(2)
push 0x20000
fstp st(0)
lea eax, [esi + 0x180000]
push 0
fstp st(0)
push eax
fstp st(0)
call fcn.10057070
mov eax, dword [esp + 0x44]
lea ecx, [eax + 2]
mov edx, ecx
lea ecx, [eax + 0xfe]
add esp, 0xc
cmp edx, ecx
mov dword [esp + 0x14], edx
jge 0x100db789
mov ecx, edx
sub ecx, eax
shl ecx, 8
mov dword [esp + 0x3c], ecx
lea esp, [esp]
movzx eax, word [ebx + 0x66b4]
sub eax, 4
cmp edx, eax
jge 0x100db789
mov edx, dword [esp + 0x24]
lea eax, [edx + 2]
add edx, 0xfe
cmp eax, edx
mov dword [esp + 0x20], eax
jge 0x100db761
mov edx, eax
sub edx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
jmp 0x100db4a0
movzx esi, word [ebx + 0x66b6]
sub esi, 4
cmp eax, esi
jge 0x100db761
lea eax, [ecx + edx]
mov edx, dword [esp + 0x40]
lea ecx, [eax + eax*2 + 3]
mov dword [esp + 0xc], eax
lea eax, [edx + ecx*2 + 0xc0000]
xor edx, edx
mov dword [esp + 0x34], edx
mov edi, edi
movsx ecx, word [eax - 6]
movsx edi, word [eax - 0xc]
mov esi, ecx
sub esi, edi
mov edi, esi
sar edi, 0x1f
mov ebx, edi
xor ebx, esi
sub ebx, edi
movsx esi, word [eax - 2]
movsx edi, word [eax - 8]
mov dword [esp + edx + 0x50], ebx
movsx ebx, word [eax - 0xa]
mov dword [esp + 0x18], esi
sub esi, edi
movsx edi, word [eax - 4]
mov dword [esp + 0x10], edi
sub edi, ebx
mov ebx, edi
imul ebx, edi
mov edi, esi
imul edi, esi
movsx esi, word [eax]
add ebx, edi
mov dword [esp + edx + 0x70], ebx
mov edi, ecx
sub edi, esi
movsx esi, word [eax]
sar edi, 0x1f
mov ebx, ecx
sub ebx, esi
movsx esi, word [eax]
xor edi, ebx
mov ebx, ecx
sub ebx, esi
movsx esi, word [eax + 2]
sar ebx, 0x1f
sub edi, ebx
mov dword [esp + edx + 0x54], edi
mov edx, dword [esp + 0x10]
mov edi, edx
sub edi, esi
movsx esi, word [eax + 2]
sub edx, esi
movsx esi, word [eax + 4]
imul edi, edx
mov edx, dword [esp + 0x18]
mov ebx, edx
sub ebx, esi
movsx esi, word [eax + 4]
sub edx, esi
movsx esi, word [eax - 0x606]
imul ebx, edx
mov edx, dword [esp + 0x34]
add edi, ebx
mov dword [esp + edx + 0x74], edi
mov edi, ecx
sub edi, esi
movsx esi, word [eax - 0x606]
sar edi, 0x1f
mov ebx, ecx
sub ebx, esi
movsx esi, word [eax - 0x606]
xor edi, ebx
mov ebx, ecx
sub ebx, esi
movsx esi, word [eax - 0x604]
sar ebx, 0x1f
sub edi, ebx
mov dword [esp + edx + 0x58], edi
mov edx, dword [esp + 0x10]
mov edi, edx
sub edi, esi
movsx esi, word [eax - 0x604]
sub edx, esi
movsx esi, word [eax - 0x602]
imul edi, edx
mov edx, dword [esp + 0x18]
mov ebx, edx
sub ebx, esi
movsx esi, word [eax - 0x602]
sub edx, esi
movsx esi, word [eax + 0x5fa]
imul ebx, edx
mov edx, dword [esp + 0x34]
add edi, ebx
mov dword [esp + edx + 0x78], edi
mov edi, ecx
sub edi, esi
movsx esi, word [eax + 0x5fa]
mov ebx, ecx
sub ebx, esi
movsx esi, word [eax + 0x5fa]
sub ecx, esi
movsx esi, word [eax + 0x5fc]
sar edi, 0x1f
xor edi, ebx
sar ecx, 0x1f
sub edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + edx + 0x5c], edi
mov edi, ecx
sub edi, esi
movsx esi, word [eax + 0x5fc]
sub ecx, esi
movsx esi, word [eax + 0x5fe]
imul edi, ecx
mov ecx, dword [esp + 0x18]
mov ebx, ecx
sub ebx, esi
movsx esi, word [eax + 0x5fe]
sub ecx, esi
imul ebx, ecx
add edi, ebx
mov dword [esp + edx + 0x7c], edi
add edx, 0x10
add eax, 0x60000
cmp edx, 0x20
mov dword [esp + 0x34], edx
jl 0x100db4d0
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov esi, edi
cmp edi, ebx
ja 0x100db66b
mov esi, ebx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov eax, ecx
cmp ecx, edx
ja 0x100db67b
mov eax, edx
cmp esi, eax
jae 0x100db68f
cmp edi, ebx
jbe 0x100db689
mov dword [esp + 0x10], edi
jmp 0x100db69b
mov dword [esp + 0x10], ebx
jmp 0x100db69b
mov dword [esp + 0x10], ecx
cmp ecx, edx
ja 0x100db69b
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov esi, edi
cmp edi, ebx
ja 0x100db6ab
mov esi, ebx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov eax, ecx
cmp ecx, edx
ja 0x100db6c1
mov eax, edx
cmp esi, eax
jae 0x100db6d1
cmp edi, ebx
jbe 0x100db6cd
mov edx, edi
jmp 0x100db6d7
mov edx, ebx
jmp 0x100db6d7
cmp ecx, edx
jbe 0x100db6d7
mov edx, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
add eax, 0x180000
add ecx, eax
xor eax, eax
lea esp, [esp]
cmp dword [esp + eax + 0x50], esi
ja 0x100db6fe
cmp dword [esp + eax + 0x70], edx
ja 0x100db6fe
inc byte [ecx]
cmp dword [esp + eax + 0x54], esi
ja 0x100db70c
cmp dword [esp + eax + 0x74], edx
ja 0x100db70c
inc byte [ecx]
cmp dword [esp + eax + 0x58], esi
ja 0x100db71a
cmp dword [esp + eax + 0x78], edx
ja 0x100db71a
inc byte [ecx]
cmp dword [esp + eax + 0x5c], esi
ja 0x100db728
cmp dword [esp + eax + 0x7c], edx
ja 0x100db728
inc byte [ecx]
add eax, 0x10
add ecx, 0x10000
cmp eax, 0x20
jl 0x100db6f0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov ebx, dword [ebp + 8]
inc eax
add ecx, 0xfe
inc edx
cmp eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
jl 0x100db4a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
inc edx
add ecx, 0x100
add eax, 0xfe
cmp edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
jl 0x100db460
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
lea ecx, [edx + 3]
lea eax, [edx + 0xfd]
cmp ecx, eax
mov dword [esp + 0x14], ecx
jge 0x100dba10
mov eax, ecx
sub eax, edx
mov dword [esp + 0x18], eax
shl eax, 8
mov dword [esp + 0x1c], eax
movzx edx, word [ebx + 0x66b4]
sub edx, 5
cmp ecx, edx
jge 0x100dba10
lea eax, [edi + 3]
lea edx, [edi + 0xfd]
cmp eax, edx
mov dword [esp + 0x20], eax
jge 0x100db9ee
mov ecx, eax
sub ecx, edi
mov dword [esp + 0x34], ecx
movzx edx, word [ebx + 0x66b6]
lea ecx, [edx - 5]
cmp eax, ecx
mov dword [esp + 0x4c], edx
jge 0x100db9ea
mov eax, dword [esp + 0x18]
lea edi, [esp + 0x90]
inc eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x18]
dec ecx
cmp ecx, eax
mov dword [edi], 0
mov dword [esp + 0x10], ecx
jg 0x100db880
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x34]
dec eax
cmp eax, dword [esp + 0x44]
jg 0x100db86e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
add ecx, edx
shl ecx, 8
lea edx, [ecx + esi + 0x180000]
mov ecx, dword [edi]
nop
movsx edi, byte [edx + eax]
add ecx, edi
mov edi, dword [esp + 0x34]
inc edi
inc eax
cmp eax, edi
mov dword [esp + 0x44], edi
jle 0x100db850
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x4c]
mov dword [edi], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc ecx
inc eax
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x100db82e
mov ecx, dword [esp + 0x3c]
add ecx, 0x100
add edi, 4
cmp ecx, 0x200
mov dword [esp + 0xc], edi
mov dword [esp + 0x3c], ecx
jl 0x100db812
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
cmp edi, eax
je 0x100db937
xor ecx, ecx
cmp eax, edi
setg cl
imul edx, dword [esp + 0x14]
mov edi, dword [ebx + 0x66e0]
shl ecx, 8
add ecx, dword [esp + 0x18]
shl ecx, 8
add ecx, dword [esp + 0x34]
mov eax, ecx
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x20]
add edx, eax
mov dword [esp + 0xc], ecx
mov cx, word [esi + ecx*2]
mov word [edi + edx*8], cx
movzx edx, word [ebx + 0x66b6]
imul edx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
movzx edi, word [esi + edi*2 + 2]
mov ecx, dword [ebx + 0x66e0]
add edx, eax
mov word [ecx + edx*8 + 2], di
movzx edx, word [ebx + 0x66b6]
imul edx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
movzx edi, word [esi + edi*2 + 4]
mov ecx, dword [ebx + 0x66e0]
add edx, eax
mov word [ecx + edx*8 + 4], di
jmp 0x100db9cf
imul edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
add edx, dword [esp + 0x20]
add ecx, 0x100
shl ecx, 8
add ecx, edi
add eax, edi
lea ecx, [ecx + ecx*2]
movzx ecx, word [esi + ecx*2]
lea eax, [eax + eax*2]
movzx edi, word [esi + eax*2]
add ecx, edi
mov edi, dword [ebx + 0x66e0]
sar ecx, 1
mov word [edi + edx*8], cx
movzx ecx, word [esi + eax*2 + 2]
movzx edx, word [esi + eax*2 + 0x60002]
mov edi, dword [ebx + 0x66e0]
add edx, ecx
movzx ecx, word [ebx + 0x66b6]
imul ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x20]
sar edx, 1
mov word [edi + ecx*8 + 2], dx
movzx ecx, word [ebx + 0x66b6]
movzx edx, word [esi + eax*2 + 4]
imul ecx, dword [esp + 0x14]
movzx eax, word [esi + eax*2 + 0x60004]
mov edi, dword [ebx + 0x66e0]
add edx, eax
mov eax, dword [esp + 0x20]
sar edx, 1
add ecx, eax
mov word [edi + ecx*8 + 4], dx
mov edi, dword [esp + 0x24]
inc dword [esp + 0x34]
inc eax
lea ecx, [edi + 0xfd]
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x100db7e4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
add dword [esp + 0x1c], 0x100
inc dword [esp + 0x18]
inc ecx
add eax, 0xfd
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x100db7b5
fld qword [0x1016b8e0]
movzx edx, word [ebx + 0x66b6]
fld qword [0x1016b8e8]
add edi, 0xfa
fld qword [0x1016b8f0]
sub edx, 5
cmp edi, edx
fld qword [0x10161d90]
fld qword [0x10161ed8]
mov dword [esp + 0x24], edi
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
jl 0x100dad70
movzx ecx, word [ebx + 0x66b4]
mov eax, dword [esp + 0x38]
add eax, 0xfa
sub ecx, 5
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x100dad4a
fstp st(4)
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x40]
push edx
call fcn.10054ff5
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret