Function at 0x1000e24f
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
push 0x10
mov eax, 0x1017238a
call fcn.1003f70b
mov edi, dword [ebp + 8]
push 0xb
pop ebx
cmp dword [edi + 0x18], ebx
jne 0x100102b8
mov esi, dword [edi + 0xc]
cmp byte [esi + 0x280], 0xc
jne 0x100102b8
cmp byte [esi + 0x281], 0x4a
jne 0x100102b8
mov dword [edi + 0x38c], 1
mov al, byte [esi + 0x282]
push 0xc
mov byte [edi + 0x390], al
call fcn.1003ddbb
pop ecx
test eax, eax
je 0x1000e2b2
mov ecx, eax
call fcn.1000cfa5
jmp 0x1000e2b4
xor eax, eax
mov dword [edi + 0x398], eax
test byte [esi + 0x283], 1
je 0x1000ed70
push 0x6c
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
and dword [ebp - 4], 0
test ecx, ecx
je 0x1000e2e5
call fcn.1000d028
mov edi, eax
jmp 0x1000e2e7
xor edi, edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x398]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.1000d0f4
mov eax, dword [ebp + 8]
inc dword [eax + 0x394]
mov al, byte [esi + 0x2c0]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [edi + 0xc]
mov al, byte [esi + 0x2c0]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x10177d70]
fmul st(1), st(0)
fld dword [ebp - 0x10]
faddp st(2)
fxch st(1)
fstp dword [edi + 0xc]
mov al, byte [esi + 0x2c1]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [edi + 4]
mov al, byte [esi + 0x2c1]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp - 0x10]
fstp dword [edi + 4]
mov al, byte [esi + 0x2c2]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [edi + 8]
mov al, byte [esi + 0x2c2]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp - 0x10]
fstp dword [edi + 8]
mov al, byte [esi + 0x2c4]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x2c4]
and eax, 0x1f
mov dword [ebp - 0x10], eax
fimul dword [ebp - 0x10]
fadd dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x2c6]
movzx ecx, byte [esi + 0x2c5]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
test eax, eax
jle 0x1000e43f
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x101f6bc0]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x10177d68]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x101f6c38]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.1013b380
imul eax, eax, 0x64
pop ecx
push 3
cdq
pop ecx
idiv ecx
mov dword [edi + 0x18], eax
movzx eax, byte [esi + 0x2ce]
movzx ecx, byte [esi + 0x2cd]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv qword [0x101f6bc0]
fstp dword [edi + 0x44]
test byte [esi + 0x2c7], 1
je 0x1000e4a1
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
test ecx, ecx
je 0x1000e489
call fcn.100074e2
jmp 0x1000e48b
xor eax, eax
fld dword [0x101f6b54]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c7], 2
je 0x1000e4e1
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
test ecx, ecx
je 0x1000e4c9
call fcn.100074e2
jmp 0x1000e4cb
xor eax, eax
fld dword [0x101f6b4c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c7], 4
je 0x1000e521
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 3
test ecx, ecx
je 0x1000e509
call fcn.100074e2
jmp 0x1000e50b
xor eax, eax
fld dword [0x101f6b44]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c7], 8
je 0x1000e561
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 4
test ecx, ecx
je 0x1000e549
call fcn.100074e2
jmp 0x1000e54b
xor eax, eax
fld dword [0x101f7138]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c7], 0x10
je 0x1000e5a1
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 5
test ecx, ecx
je 0x1000e589
call fcn.100074e2
jmp 0x1000e58b
xor eax, eax
fld dword [0x10177e74]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c7], 0x20
je 0x1000e5e1
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 6
test ecx, ecx
je 0x1000e5c9
call fcn.100074e2
jmp 0x1000e5cb
xor eax, eax
fld dword [0x101f7028]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c7], 0x40
je 0x1000e621
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 7
test ecx, ecx
je 0x1000e609
call fcn.100074e2
jmp 0x1000e60b
xor eax, eax
fld dword [0x101f6c30]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c7], 0x80
je 0x1000e661
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 8
test ecx, ecx
je 0x1000e649
call fcn.100074e2
jmp 0x1000e64b
xor eax, eax
fld dword [0x10177e70]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
mov al, byte [esi + 0x2c8]
test al, al
je 0x1000e864
test al, 1
je 0x1000e6aa
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 9
test ecx, ecx
je 0x1000e692
call fcn.100074e2
jmp 0x1000e694
xor eax, eax
fld dword [0x10177e6c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c8], 2
je 0x1000e6ea
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xa
test ecx, ecx
je 0x1000e6d2
call fcn.100074e2
jmp 0x1000e6d4
xor eax, eax
fld dword [0x10177e68]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c8], 4
je 0x1000e726
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x1000e70e
call fcn.100074e2
jmp 0x1000e710
xor eax, eax
fld dword [0x101f6edc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c8], 8
je 0x1000e764
push 0xc
pop ebx
push ebx
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x1000e74c
call fcn.100074e2
jmp 0x1000e74e
xor eax, eax
fld dword [0x101f70e8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c8], 0x10
je 0x1000e7a4
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xd
test ecx, ecx
je 0x1000e78c
call fcn.100074e2
jmp 0x1000e78e
xor eax, eax
fld dword [0x10177e64]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c8], 0x20
je 0x1000e7e4
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xe
test ecx, ecx
je 0x1000e7cc
call fcn.100074e2
jmp 0x1000e7ce
xor eax, eax
fld dword [0x10177e60]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c8], 0x40
je 0x1000e824
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xf
test ecx, ecx
je 0x1000e80c
call fcn.100074e2
jmp 0x1000e80e
xor eax, eax
fld dword [0x10177e5c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c8], 0x80
je 0x1000e864
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x10
test ecx, ecx
je 0x1000e84c
call fcn.100074e2
jmp 0x1000e84e
xor eax, eax
fld dword [0x101f6c0c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
mov al, byte [esi + 0x2c9]
test al, al
je 0x1000ea6d
test al, 1
je 0x1000e8ad
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x11
test ecx, ecx
je 0x1000e895
call fcn.100074e2
jmp 0x1000e897
xor eax, eax
fld dword [0x10177e58]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c9], 2
je 0x1000e8ed
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x12
test ecx, ecx
je 0x1000e8d5
call fcn.100074e2
jmp 0x1000e8d7
xor eax, eax
fld dword [0x10177e54]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c9], 4
je 0x1000e92d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x13
test ecx, ecx
je 0x1000e915
call fcn.100074e2
jmp 0x1000e917
xor eax, eax
fld dword [0x101f6ee0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c9], 8
je 0x1000e96d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x14
test ecx, ecx
je 0x1000e955
call fcn.100074e2
jmp 0x1000e957
xor eax, eax
fld dword [0x10177e50]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c9], 0x10
je 0x1000e9ad
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x15
test ecx, ecx
je 0x1000e995
call fcn.100074e2
jmp 0x1000e997
xor eax, eax
fld dword [0x101f6f04]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c9], 0x20
je 0x1000e9ed
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x16
test ecx, ecx
je 0x1000e9d5
call fcn.100074e2
jmp 0x1000e9d7
xor eax, eax
fld dword [0x10177e4c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c9], 0x40
je 0x1000ea2d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x17
test ecx, ecx
je 0x1000ea15
call fcn.100074e2
jmp 0x1000ea17
xor eax, eax
fld dword [0x101f6c2c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2c9], 0x80
je 0x1000ea6d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x18
test ecx, ecx
je 0x1000ea55
call fcn.100074e2
jmp 0x1000ea57
xor eax, eax
fld dword [0x10177e48]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
mov al, byte [esi + 0x2ca]
test al, al
je 0x1000ec76
test al, 1
je 0x1000eab6
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x19
test ecx, ecx
je 0x1000ea9e
call fcn.100074e2
jmp 0x1000eaa0
xor eax, eax
fld dword [0x10177e44]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2ca], 2
je 0x1000eaf6
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1a
test ecx, ecx
je 0x1000eade
call fcn.100074e2
jmp 0x1000eae0
xor eax, eax
fld dword [0x101f6eec]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2ca], 4
je 0x1000eb36
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1b
test ecx, ecx
je 0x1000eb1e
call fcn.100074e2
jmp 0x1000eb20
xor eax, eax
fld dword [0x10177e40]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2ca], 8
je 0x1000eb76
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1c
test ecx, ecx
je 0x1000eb5e
call fcn.100074e2
jmp 0x1000eb60
xor eax, eax
fld dword [0x10177e3c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2ca], 0x10
je 0x1000ebb6
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1d
test ecx, ecx
je 0x1000eb9e
call fcn.100074e2
jmp 0x1000eba0
xor eax, eax
fld dword [0x10177e38]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2ca], 0x20
je 0x1000ebf6
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1e
test ecx, ecx
je 0x1000ebde
call fcn.100074e2
jmp 0x1000ebe0
xor eax, eax
fld dword [0x10177e34]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2ca], 0x40
je 0x1000ec36
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1f
test ecx, ecx
je 0x1000ec1e
call fcn.100074e2
jmp 0x1000ec20
xor eax, eax
fld dword [0x101f6c04]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
test byte [esi + 0x2ca], 0x80
je 0x1000ec76
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x20
test ecx, ecx
je 0x1000ec5e
call fcn.100074e2
jmp 0x1000ec60
xor eax, eax
fld dword [0x10177e30]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.1000d08f
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.100079d8
jmp 0x1000ecd4
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x1000eccc
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x101f6bc0]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [ecx + 8]
fild dword [edi + 0x18]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x10]
fld dword [ebp - 0x14]
fcompp
fnstsw ax
test ah, 5
jp 0x1000eccc
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.100178a9
mov ecx, eax
test ecx, ecx
jne 0x1000ec8a
movzx eax, byte [esi + 0x2d0]
movzx ecx, byte [esi + 0x2cf]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x101f6bc0]
fdiv st(1), st(0)
fxch st(1)
fstp dword [edi + 0x4c]
movzx eax, byte [esi + 0x2d2]
movzx ecx, byte [esi + 0x2d1]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x48]
movzx eax, byte [esi + 0x2d4]
movzx ecx, byte [esi + 0x2d3]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x54]
movzx eax, byte [esi + 0x2d6]
movzx ecx, byte [esi + 0x2d5]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
fidivr dword [ebp - 0x14]
fstp dword [edi + 0x58]
mov cl, byte [esi + eax + 0x28e]
mov byte [edi + eax + 0x20], cl
inc eax
cmp eax, 0xf
jl 0x1000ed5a
mov byte [eax + edi + 0x20], 0
test byte [esi + 0x283], 2
je 0x1000f814
push 0x6c
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x21
test ecx, ecx
je 0x1000ed9e
call fcn.1000d028
mov edi, eax
jmp 0x1000eda0
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x398]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.1000d0f4
inc dword [ebx + 0x394]
mov al, byte [esi + 0x300]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 0xc]
mov al, byte [esi + 0x300]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fld qword [0x10177d70]
fmul st(1), st(0)
fld dword [ebp - 0x14]
faddp st(2)
fxch st(1)
fstp dword [edi + 0xc]
mov al, byte [esi + 0x301]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 4]
mov al, byte [esi + 0x301]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fmul st(1)
fadd dword [ebp - 0x14]
fstp dword [edi + 4]
mov al, byte [esi + 0x302]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 8]
mov al, byte [esi + 0x302]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fmul st(1)
fadd dword [ebp - 0x14]
fstp dword [edi + 8]
mov al, byte [esi + 0x304]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x304]
and eax, 0x1f
mov dword [ebp - 0x10], eax
fimul dword [ebp - 0x10]
fadd dword [ebp - 0x14]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x306]
movzx ecx, byte [esi + 0x305]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
test eax, eax
jle 0x1000eef5
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x101f6bc0]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x10177d68]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x101f6c38]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.1013b380
imul eax, eax, 0x64
pop ecx
push 3
cdq
pop ecx
idiv ecx
mov dword [edi + 0x18], eax
movzx eax, byte [esi + 0x30e]
movzx ecx, byte [esi + 0x30d]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv qword [0x101f6bc0]
fstp dword [edi + 0x44]
test byte [esi + 0x307], 1
je 0x1000ef5b
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x22
test ecx, ecx
je 0x1000ef3f
call fcn.100074e2
jmp 0x1000ef41
xor eax, eax
fld dword [0x101f6b54]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.1000d08f
jmp 0x1000ef5e
or ebx, 0xffffffff
test byte [esi + 0x307], 2
je 0x1000ef9d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x23
test ecx, ecx
je 0x1000ef86
call fcn.100074e2
jmp 0x1000ef88
xor eax, eax
fld dword [0x101f6b4c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x307], 4
je 0x1000efdc
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x24
test ecx, ecx
je 0x1000efc5
call fcn.100074e2
jmp 0x1000efc7
xor eax, eax
fld dword [0x101f6b44]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x307], 8
je 0x1000f01b
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x25
test ecx, ecx
je 0x1000f004
call fcn.100074e2
jmp 0x1000f006
xor eax, eax
fld dword [0x101f7138]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x307], 0x10
je 0x1000f05a
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x26
test ecx, ecx
je 0x1000f043
call fcn.100074e2
jmp 0x1000f045
xor eax, eax
fld dword [0x10177e74]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x307], 0x20
je 0x1000f099
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x27
test ecx, ecx
je 0x1000f082
call fcn.100074e2
jmp 0x1000f084
xor eax, eax
fld dword [0x101f7028]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x307], 0x40
je 0x1000f0d8
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x28
test ecx, ecx
je 0x1000f0c1
call fcn.100074e2
jmp 0x1000f0c3
xor eax, eax
fld dword [0x101f6c30]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x307], 0x80
je 0x1000f117
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x29
test ecx, ecx
je 0x1000f100
call fcn.100074e2
jmp 0x1000f102
xor eax, eax
fld dword [0x10177e70]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov al, byte [esi + 0x308]
test al, al
je 0x1000f318
test al, 1
je 0x1000f15f
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2a
test ecx, ecx
je 0x1000f148
call fcn.100074e2
jmp 0x1000f14a
xor eax, eax
fld dword [0x10177e6c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x308], 2
je 0x1000f19e
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2b
test ecx, ecx
je 0x1000f187
call fcn.100074e2
jmp 0x1000f189
xor eax, eax
fld dword [0x10177e68]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x308], 4
je 0x1000f1dd
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2c
test ecx, ecx
je 0x1000f1c6
call fcn.100074e2
jmp 0x1000f1c8
xor eax, eax
fld dword [0x101f6edc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x308], 8
je 0x1000f21c
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2d
test ecx, ecx
je 0x1000f205
call fcn.100074e2
jmp 0x1000f207
xor eax, eax
fld dword [0x101f70e8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x308], 0x10
je 0x1000f25b
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2e
test ecx, ecx
je 0x1000f244
call fcn.100074e2
jmp 0x1000f246
xor eax, eax
fld dword [0x10177e64]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x308], 0x20
je 0x1000f29a
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2f
test ecx, ecx
je 0x1000f283
call fcn.100074e2
jmp 0x1000f285
xor eax, eax
fld dword [0x10177e60]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x308], 0x40
je 0x1000f2d9
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x30
test ecx, ecx
je 0x1000f2c2
call fcn.100074e2
jmp 0x1000f2c4
xor eax, eax
fld dword [0x10177e5c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x308], 0x80
je 0x1000f318
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x31
test ecx, ecx
je 0x1000f301
call fcn.100074e2
jmp 0x1000f303
xor eax, eax
fld dword [0x101f6c0c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov al, byte [esi + 0x309]
test al, al
je 0x1000f519
test al, 1
je 0x1000f360
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x32
test ecx, ecx
je 0x1000f349
call fcn.100074e2
jmp 0x1000f34b
xor eax, eax
fld dword [0x10177e58]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x309], 2
je 0x1000f39f
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x33
test ecx, ecx
je 0x1000f388
call fcn.100074e2
jmp 0x1000f38a
xor eax, eax
fld dword [0x10177e54]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x309], 4
je 0x1000f3de
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x34
test ecx, ecx
je 0x1000f3c7
call fcn.100074e2
jmp 0x1000f3c9
xor eax, eax
fld dword [0x101f6ee0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x309], 8
je 0x1000f41d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x35
test ecx, ecx
je 0x1000f406
call fcn.100074e2
jmp 0x1000f408
xor eax, eax
fld dword [0x10177e50]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x309], 0x10
je 0x1000f45c
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x36
test ecx, ecx
je 0x1000f445
call fcn.100074e2
jmp 0x1000f447
xor eax, eax
fld dword [0x101f6f04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x309], 0x20
je 0x1000f49b
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x37
test ecx, ecx
je 0x1000f484
call fcn.100074e2
jmp 0x1000f486
xor eax, eax
fld dword [0x10177e4c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x309], 0x40
je 0x1000f4da
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x38
test ecx, ecx
je 0x1000f4c3
call fcn.100074e2
jmp 0x1000f4c5
xor eax, eax
fld dword [0x101f6c2c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x309], 0x80
je 0x1000f519
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x39
test ecx, ecx
je 0x1000f502
call fcn.100074e2
jmp 0x1000f504
xor eax, eax
fld dword [0x10177e48]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov al, byte [esi + 0x30a]
test al, al
je 0x1000f71a
test al, 1
je 0x1000f561
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3a
test ecx, ecx
je 0x1000f54a
call fcn.100074e2
jmp 0x1000f54c
xor eax, eax
fld dword [0x10177e44]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x30a], 2
je 0x1000f5a0
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3b
test ecx, ecx
je 0x1000f589
call fcn.100074e2
jmp 0x1000f58b
xor eax, eax
fld dword [0x101f6eec]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x30a], 4
je 0x1000f5df
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3c
test ecx, ecx
je 0x1000f5c8
call fcn.100074e2
jmp 0x1000f5ca
xor eax, eax
fld dword [0x10177e40]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x30a], 8
je 0x1000f61e
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3d
test ecx, ecx
je 0x1000f607
call fcn.100074e2
jmp 0x1000f609
xor eax, eax
fld dword [0x10177e3c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x30a], 0x10
je 0x1000f65d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3e
test ecx, ecx
je 0x1000f646
call fcn.100074e2
jmp 0x1000f648
xor eax, eax
fld dword [0x10177e38]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x30a], 0x20
je 0x1000f69c
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3f
test ecx, ecx
je 0x1000f685
call fcn.100074e2
jmp 0x1000f687
xor eax, eax
fld dword [0x10177e34]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x30a], 0x40
je 0x1000f6db
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x40
test ecx, ecx
je 0x1000f6c4
call fcn.100074e2
jmp 0x1000f6c6
xor eax, eax
fld dword [0x101f6c04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x30a], 0x80
je 0x1000f71a
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x41
test ecx, ecx
je 0x1000f703
call fcn.100074e2
jmp 0x1000f705
xor eax, eax
fld dword [0x10177e30]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.100079d8
jmp 0x1000f778
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x1000f770
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x101f6bc0]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [ecx + 8]
fild dword [edi + 0x18]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x10]
fld dword [ebp - 0x14]
fcompp
fnstsw ax
test ah, 5
jp 0x1000f770
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.100178a9
mov ecx, eax
test ecx, ecx
jne 0x1000f72e
movzx eax, byte [esi + 0x310]
movzx ecx, byte [esi + 0x30f]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x101f6bc0]
fdiv st(1), st(0)
fxch st(1)
fstp dword [edi + 0x4c]
movzx eax, byte [esi + 0x312]
movzx ecx, byte [esi + 0x311]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x48]
movzx eax, byte [esi + 0x314]
movzx ecx, byte [esi + 0x313]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv st(1)
fstp dword [edi + 0x54]
movzx eax, byte [esi + 0x316]
movzx ecx, byte [esi + 0x315]
shl eax, 8
add eax, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
fidivr dword [ebp - 0x14]
fstp dword [edi + 0x58]
mov cl, byte [esi + eax + 0x29e]
mov byte [edi + eax + 0x20], cl
inc eax
cmp eax, 0xf
jl 0x1000f7fe
mov byte [edi + eax + 0x20], 0
test byte [esi + 0x283], 4
je 0x100102b8
push 0x6c
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x42
test ecx, ecx
je 0x1000f842
call fcn.1000d028
mov edi, eax
jmp 0x1000f844
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x398]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.1000d0f4
inc dword [ebx + 0x394]
mov al, byte [esi + 0x340]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 0xc]
mov al, byte [esi + 0x340]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fld qword [0x10177d70]
fmul st(1), st(0)
fld dword [ebp + 8]
faddp st(2)
fxch st(1)
fstp dword [edi + 0xc]
mov al, byte [esi + 0x341]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 4]
mov al, byte [esi + 0x341]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp + 8]
fstp dword [edi + 4]
mov al, byte [esi + 0x342]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 8]
mov al, byte [esi + 0x342]
and al, 0x1f
movzx eax, al
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul st(1)
fadd dword [ebp + 8]
fstp dword [edi + 8]
mov al, byte [esi + 0x344]
shr al, 5
and al, 3
movzx eax, al
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x344]
and eax, 0x1f
mov dword [ebp - 0x10], eax
fimul dword [ebp - 0x10]
fadd dword [ebp + 8]
fstp dword [edi + 0x10]
movzx eax, byte [esi + 0x346]
movzx ecx, byte [esi + 0x345]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
test eax, eax
jle 0x1000f999
fild dword [ebp + 8]
push ecx
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x101f6bc0]
fstp dword [edi + 0x14]
fld dword [ebp + 8]
fdivr qword [0x10177d68]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x101f6c38]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.1013b380
imul eax, eax, 0x64
pop ecx
push 3
cdq
pop ecx
idiv ecx
mov dword [edi + 0x18], eax
movzx eax, byte [esi + 0x34e]
movzx ecx, byte [esi + 0x34d]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fdiv qword [0x101f6bc0]
fstp dword [edi + 0x44]
test byte [esi + 0x347], 1
je 0x1000f9ff
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x43
test ecx, ecx
je 0x1000f9e3
call fcn.100074e2
jmp 0x1000f9e5
xor eax, eax
fld dword [0x101f6b54]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.1000d08f
jmp 0x1000fa02
or ebx, 0xffffffff
test byte [esi + 0x347], 2
je 0x1000fa41
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x44
test ecx, ecx
je 0x1000fa2a
call fcn.100074e2
jmp 0x1000fa2c
xor eax, eax
fld dword [0x101f6b4c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x347], 4
je 0x1000fa80
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x45
test ecx, ecx
je 0x1000fa69
call fcn.100074e2
jmp 0x1000fa6b
xor eax, eax
fld dword [0x101f6b44]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x347], 8
je 0x1000fabf
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x46
test ecx, ecx
je 0x1000faa8
call fcn.100074e2
jmp 0x1000faaa
xor eax, eax
fld dword [0x101f7138]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x347], 0x10
je 0x1000fafe
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x47
test ecx, ecx
je 0x1000fae7
call fcn.100074e2
jmp 0x1000fae9
xor eax, eax
fld dword [0x10177e74]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x347], 0x20
je 0x1000fb3d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x48
test ecx, ecx
je 0x1000fb26
call fcn.100074e2
jmp 0x1000fb28
xor eax, eax
fld dword [0x101f7028]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x347], 0x40
je 0x1000fb7c
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x49
test ecx, ecx
je 0x1000fb65
call fcn.100074e2
jmp 0x1000fb67
xor eax, eax
fld dword [0x101f6c30]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x347], 0x80
je 0x1000fbbb
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4a
test ecx, ecx
je 0x1000fba4
call fcn.100074e2
jmp 0x1000fba6
xor eax, eax
fld dword [0x10177e70]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov al, byte [esi + 0x348]
test al, al
je 0x1000fdbc
test al, 1
je 0x1000fc03
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4b
test ecx, ecx
je 0x1000fbec
call fcn.100074e2
jmp 0x1000fbee
xor eax, eax
fld dword [0x10177e6c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x348], 2
je 0x1000fc42
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4c
test ecx, ecx
je 0x1000fc2b
call fcn.100074e2
jmp 0x1000fc2d
xor eax, eax
fld dword [0x10177e68]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x348], 4
je 0x1000fc81
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4d
test ecx, ecx
je 0x1000fc6a
call fcn.100074e2
jmp 0x1000fc6c
xor eax, eax
fld dword [0x101f6edc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x348], 8
je 0x1000fcc0
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4e
test ecx, ecx
je 0x1000fca9
call fcn.100074e2
jmp 0x1000fcab
xor eax, eax
fld dword [0x101f70e8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x348], 0x10
je 0x1000fcff
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4f
test ecx, ecx
je 0x1000fce8
call fcn.100074e2
jmp 0x1000fcea
xor eax, eax
fld dword [0x10177e64]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x348], 0x20
je 0x1000fd3e
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x50
test ecx, ecx
je 0x1000fd27
call fcn.100074e2
jmp 0x1000fd29
xor eax, eax
fld dword [0x10177e60]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x348], 0x40
je 0x1000fd7d
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x51
test ecx, ecx
je 0x1000fd66
call fcn.100074e2
jmp 0x1000fd68
xor eax, eax
fld dword [0x10177e5c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x348], 0x80
je 0x1000fdbc
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x52
test ecx, ecx
je 0x1000fda5
call fcn.100074e2
jmp 0x1000fda7
xor eax, eax
fld dword [0x101f6c0c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov al, byte [esi + 0x349]
test al, al
je 0x1000ffbd
test al, 1
je 0x1000fe04
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x53
test ecx, ecx
je 0x1000fded
call fcn.100074e2
jmp 0x1000fdef
xor eax, eax
fld dword [0x10177e58]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x349], 2
je 0x1000fe43
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x54
test ecx, ecx
je 0x1000fe2c
call fcn.100074e2
jmp 0x1000fe2e
xor eax, eax
fld dword [0x10177e54]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x349], 4
je 0x1000fe82
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x55
test ecx, ecx
je 0x1000fe6b
call fcn.100074e2
jmp 0x1000fe6d
xor eax, eax
fld dword [0x101f6ee0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x349], 8
je 0x1000fec1
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x56
test ecx, ecx
je 0x1000feaa
call fcn.100074e2
jmp 0x1000feac
xor eax, eax
fld dword [0x10177e50]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x349], 0x10
je 0x1000ff00
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x57
test ecx, ecx
je 0x1000fee9
call fcn.100074e2
jmp 0x1000feeb
xor eax, eax
fld dword [0x101f6f04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x349], 0x20
je 0x1000ff3f
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x58
test ecx, ecx
je 0x1000ff28
call fcn.100074e2
jmp 0x1000ff2a
xor eax, eax
fld dword [0x10177e4c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x349], 0x40
je 0x1000ff7e
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x59
test ecx, ecx
je 0x1000ff67
call fcn.100074e2
jmp 0x1000ff69
xor eax, eax
fld dword [0x101f6c2c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x349], 0x80
je 0x1000ffbd
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5a
test ecx, ecx
je 0x1000ffa6
call fcn.100074e2
jmp 0x1000ffa8
xor eax, eax
fld dword [0x10177e48]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov al, byte [esi + 0x34a]
test al, al
je 0x100101be
test al, 1
je 0x10010005
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5b
test ecx, ecx
je 0x1000ffee
call fcn.100074e2
jmp 0x1000fff0
xor eax, eax
fld dword [0x10177e44]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x34a], 2
je 0x10010044
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5c
test ecx, ecx
je 0x1001002d
call fcn.100074e2
jmp 0x1001002f
xor eax, eax
fld dword [0x101f6eec]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x34a], 4
je 0x10010083
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5d
test ecx, ecx
je 0x1001006c
call fcn.100074e2
jmp 0x1001006e
xor eax, eax
fld dword [0x10177e40]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x34a], 8
je 0x100100c2
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5e
test ecx, ecx
je 0x100100ab
call fcn.100074e2
jmp 0x100100ad
xor eax, eax
fld dword [0x10177e3c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x34a], 0x10
je 0x10010101
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5f
test ecx, ecx
je 0x100100ea
call fcn.100074e2
jmp 0x100100ec
xor eax, eax
fld dword [0x10177e38]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x34a], 0x20
je 0x10010140
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x60
test ecx, ecx
je 0x10010129
call fcn.100074e2
jmp 0x1001012b
xor eax, eax
fld dword [0x10177e34]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x34a], 0x40
je 0x1001017f
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x61
test ecx, ecx
je 0x10010168
call fcn.100074e2
jmp 0x1001016a
xor eax, eax
fld dword [0x101f6c04]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
test byte [esi + 0x34a], 0x80
je 0x100101be
push 0xc
call fcn.1003ddbb
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x62
test ecx, ecx
je 0x100101a7
call fcn.100074e2
jmp 0x100101a9
xor eax, eax
fld dword [0x10177e30]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.1000d08f
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.100079d8
jmp 0x1001021c
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x10010214
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdivr qword [0x101f6bc0]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [ecx + 8]
fild dword [edi + 0x18]
fstp dword [ebp - 0x14]
fld dword [ebp + 8]
fld dword [ebp - 0x14]
fcompp
fnstsw ax
test ah, 5
jp 0x10010214
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.100178a9
mov ecx, eax
test ecx, ecx
jne 0x100101d2
movzx eax, byte [esi + 0x350]
movzx ecx, byte [esi + 0x34f]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fld qword [0x101f6bc0]
fdiv st(1), st(0)
fxch st(1)
fstp dword [edi + 0x4c]
movzx eax, byte [esi + 0x352]
movzx ecx, byte [esi + 0x351]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fdiv st(1)
fstp dword [edi + 0x48]
movzx eax, byte [esi + 0x354]
movzx ecx, byte [esi + 0x353]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fdiv st(1)
fstp dword [edi + 0x54]
movzx eax, byte [esi + 0x356]
movzx ecx, byte [esi + 0x355]
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
xor eax, eax
fidivr dword [ebp + 8]
fstp dword [edi + 0x58]
mov cl, byte [eax + esi + 0x2ae]
mov byte [edi + eax + 0x20], cl
inc eax
cmp eax, 0xf
jl 0x100102a2
mov byte [edi + eax + 0x20], 0
call fcn.1003f7aa
ret 4