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

Disassembly:
push 0x10
mov eax, 0x59bc43
call fcn.0057ba6f
mov edi, dword [ebp + 8]
push 0xb
pop ebx
cmp dword [edi + 0x18], ebx
jne 0x55e41d
mov esi, dword [edi + 0xc]
cmp byte [esi + 0x280], 0xc
jne 0x55e41d
cmp byte [esi + 0x281], 0x4a
jne 0x55e41d
mov dword [edi + 0x388], 1
mov al, byte [esi + 0x282]
push 0xc
mov byte [edi + 0x38c], al
call fcn.00568473
pop ecx
test eax, eax
je 0x55c417
mov ecx, eax
call fcn.0055b10a
jmp 0x55c419
xor eax, eax
mov dword [edi + 0x394], eax
test byte [esi + 0x283], 1
je 0x55ced5
push 0x6c
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
and dword [ebp - 4], 0
test ecx, ecx
je 0x55c44a
call fcn.0055b18d
mov edi, eax
jmp 0x55c44c
xor edi, edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.0055b259
mov eax, dword [ebp + 8]
inc dword [eax + 0x390]
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 [0x5c37e0]
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 0x55c5a4
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5dcff8]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x5c37d8]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5dd010]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.004376a0
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 [0x5dcff8]
fstp dword [edi + 0x44]
test byte [esi + 0x2c7], 1
je 0x55c606
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
test ecx, ecx
je 0x55c5ee
call fcn.00554347
jmp 0x55c5f0
xor eax, eax
fld dword [0x5a3680]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c7], 2
je 0x55c646
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
test ecx, ecx
je 0x55c62e
call fcn.00554347
jmp 0x55c630
xor eax, eax
fld dword [0x5a3668]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c7], 4
je 0x55c686
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 3
test ecx, ecx
je 0x55c66e
call fcn.00554347
jmp 0x55c670
xor eax, eax
fld dword [0x5a3650]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c7], 8
je 0x55c6c6
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 4
test ecx, ecx
je 0x55c6ae
call fcn.00554347
jmp 0x55c6b0
xor eax, eax
fld dword [0x5bbd9c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c7], 0x10
je 0x55c706
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 5
test ecx, ecx
je 0x55c6ee
call fcn.00554347
jmp 0x55c6f0
xor eax, eax
fld dword [0x5bdb50]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c7], 0x20
je 0x55c746
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 6
test ecx, ecx
je 0x55c72e
call fcn.00554347
jmp 0x55c730
xor eax, eax
fld dword [0x5a72b4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c7], 0x40
je 0x55c786
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 7
test ecx, ecx
je 0x55c76e
call fcn.00554347
jmp 0x55c770
xor eax, eax
fld dword [0x5a4d78]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c7], 0x80
je 0x55c7c6
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 8
test ecx, ecx
je 0x55c7ae
call fcn.00554347
jmp 0x55c7b0
xor eax, eax
fld dword [0x5c38d8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
mov al, byte [esi + 0x2c8]
test al, al
je 0x55c9c9
test al, 1
je 0x55c80f
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 9
test ecx, ecx
je 0x55c7f7
call fcn.00554347
jmp 0x55c7f9
xor eax, eax
fld dword [0x5c38d4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c8], 2
je 0x55c84f
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xa
test ecx, ecx
je 0x55c837
call fcn.00554347
jmp 0x55c839
xor eax, eax
fld dword [0x5c38d0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c8], 4
je 0x55c88b
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x55c873
call fcn.00554347
jmp 0x55c875
xor eax, eax
fld dword [0x5b7d58]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c8], 8
je 0x55c8c9
push 0xc
pop ebx
push ebx
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
je 0x55c8b1
call fcn.00554347
jmp 0x55c8b3
xor eax, eax
fld dword [0x5ab258]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c8], 0x10
je 0x55c909
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xd
test ecx, ecx
je 0x55c8f1
call fcn.00554347
jmp 0x55c8f3
xor eax, eax
fld dword [0x5c38cc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c8], 0x20
je 0x55c949
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xe
test ecx, ecx
je 0x55c931
call fcn.00554347
jmp 0x55c933
xor eax, eax
fld dword [0x5c38c8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c8], 0x40
je 0x55c989
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0xf
test ecx, ecx
je 0x55c971
call fcn.00554347
jmp 0x55c973
xor eax, eax
fld dword [0x5c38c4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c8], 0x80
je 0x55c9c9
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x10
test ecx, ecx
je 0x55c9b1
call fcn.00554347
jmp 0x55c9b3
xor eax, eax
fld dword [0x5a95f4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
mov al, byte [esi + 0x2c9]
test al, al
je 0x55cbd2
test al, 1
je 0x55ca12
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x11
test ecx, ecx
je 0x55c9fa
call fcn.00554347
jmp 0x55c9fc
xor eax, eax
fld dword [0x5c38c0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c9], 2
je 0x55ca52
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x12
test ecx, ecx
je 0x55ca3a
call fcn.00554347
jmp 0x55ca3c
xor eax, eax
fld dword [0x5c38bc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c9], 4
je 0x55ca92
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x13
test ecx, ecx
je 0x55ca7a
call fcn.00554347
jmp 0x55ca7c
xor eax, eax
fld dword [0x5b7d64]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c9], 8
je 0x55cad2
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x14
test ecx, ecx
je 0x55caba
call fcn.00554347
jmp 0x55cabc
xor eax, eax
fld dword [0x5c38b8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c9], 0x10
je 0x55cb12
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x15
test ecx, ecx
je 0x55cafa
call fcn.00554347
jmp 0x55cafc
xor eax, eax
fld dword [0x5a72fc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c9], 0x20
je 0x55cb52
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x16
test ecx, ecx
je 0x55cb3a
call fcn.00554347
jmp 0x55cb3c
xor eax, eax
fld dword [0x5c38b4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c9], 0x40
je 0x55cb92
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x17
test ecx, ecx
je 0x55cb7a
call fcn.00554347
jmp 0x55cb7c
xor eax, eax
fld dword [0x5a4d74]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2c9], 0x80
je 0x55cbd2
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x18
test ecx, ecx
je 0x55cbba
call fcn.00554347
jmp 0x55cbbc
xor eax, eax
fld dword [0x5c38b0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
mov al, byte [esi + 0x2ca]
test al, al
je 0x55cddb
test al, 1
je 0x55cc1b
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x19
test ecx, ecx
je 0x55cc03
call fcn.00554347
jmp 0x55cc05
xor eax, eax
fld dword [0x5c38ac]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2ca], 2
je 0x55cc5b
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1a
test ecx, ecx
je 0x55cc43
call fcn.00554347
jmp 0x55cc45
xor eax, eax
fld dword [0x5b712c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2ca], 4
je 0x55cc9b
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1b
test ecx, ecx
je 0x55cc83
call fcn.00554347
jmp 0x55cc85
xor eax, eax
fld dword [0x5c38a8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2ca], 8
je 0x55ccdb
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1c
test ecx, ecx
je 0x55ccc3
call fcn.00554347
jmp 0x55ccc5
xor eax, eax
fld dword [0x5c38a4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2ca], 0x10
je 0x55cd1b
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1d
test ecx, ecx
je 0x55cd03
call fcn.00554347
jmp 0x55cd05
xor eax, eax
fld dword [0x5c38a0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2ca], 0x20
je 0x55cd5b
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1e
test ecx, ecx
je 0x55cd43
call fcn.00554347
jmp 0x55cd45
xor eax, eax
fld dword [0x5c389c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2ca], 0x40
je 0x55cd9b
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x1f
test ecx, ecx
je 0x55cd83
call fcn.00554347
jmp 0x55cd85
xor eax, eax
fld dword [0x5a7214]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
test byte [esi + 0x2ca], 0x80
je 0x55cddb
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x20
test ecx, ecx
je 0x55cdc3
call fcn.00554347
jmp 0x55cdc5
xor eax, eax
fld dword [0x5c3898]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
call fcn.0055b1f4
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.005549ff
jmp 0x55ce39
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x55ce31
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x5dcff8]
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 0x55ce31
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0052ef4d
mov ecx, eax
test ecx, ecx
jne 0x55cdef
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 [0x5dcff8]
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 0x55cebf
mov byte [eax + edi + 0x20], 0
test byte [esi + 0x283], 2
je 0x55d979
push 0x6c
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x21
test ecx, ecx
je 0x55cf03
call fcn.0055b18d
mov edi, eax
jmp 0x55cf05
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.0055b259
inc dword [ebx + 0x390]
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 [0x5c37e0]
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 0x55d05a
fild dword [ebp - 0x14]
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5dcff8]
fstp dword [edi + 0x14]
fld dword [ebp - 0x14]
fdivr qword [0x5c37d8]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fdiv qword [0x5dd010]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esp]
call fcn.004376a0
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 [0x5dcff8]
fstp dword [edi + 0x44]
test byte [esi + 0x307], 1
je 0x55d0c0
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x22
test ecx, ecx
je 0x55d0a4
call fcn.00554347
jmp 0x55d0a6
xor eax, eax
fld dword [0x5a3680]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.0055b1f4
jmp 0x55d0c3
or ebx, 0xffffffff
test byte [esi + 0x307], 2
je 0x55d102
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x23
test ecx, ecx
je 0x55d0eb
call fcn.00554347
jmp 0x55d0ed
xor eax, eax
fld dword [0x5a3668]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x307], 4
je 0x55d141
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x24
test ecx, ecx
je 0x55d12a
call fcn.00554347
jmp 0x55d12c
xor eax, eax
fld dword [0x5a3650]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x307], 8
je 0x55d180
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x25
test ecx, ecx
je 0x55d169
call fcn.00554347
jmp 0x55d16b
xor eax, eax
fld dword [0x5bbd9c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x307], 0x10
je 0x55d1bf
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x26
test ecx, ecx
je 0x55d1a8
call fcn.00554347
jmp 0x55d1aa
xor eax, eax
fld dword [0x5bdb50]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x307], 0x20
je 0x55d1fe
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x27
test ecx, ecx
je 0x55d1e7
call fcn.00554347
jmp 0x55d1e9
xor eax, eax
fld dword [0x5a72b4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x307], 0x40
je 0x55d23d
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x28
test ecx, ecx
je 0x55d226
call fcn.00554347
jmp 0x55d228
xor eax, eax
fld dword [0x5a4d78]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x307], 0x80
je 0x55d27c
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x29
test ecx, ecx
je 0x55d265
call fcn.00554347
jmp 0x55d267
xor eax, eax
fld dword [0x5c38d8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov al, byte [esi + 0x308]
test al, al
je 0x55d47d
test al, 1
je 0x55d2c4
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2a
test ecx, ecx
je 0x55d2ad
call fcn.00554347
jmp 0x55d2af
xor eax, eax
fld dword [0x5c38d4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x308], 2
je 0x55d303
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2b
test ecx, ecx
je 0x55d2ec
call fcn.00554347
jmp 0x55d2ee
xor eax, eax
fld dword [0x5c38d0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x308], 4
je 0x55d342
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2c
test ecx, ecx
je 0x55d32b
call fcn.00554347
jmp 0x55d32d
xor eax, eax
fld dword [0x5b7d58]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x308], 8
je 0x55d381
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2d
test ecx, ecx
je 0x55d36a
call fcn.00554347
jmp 0x55d36c
xor eax, eax
fld dword [0x5ab258]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x308], 0x10
je 0x55d3c0
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2e
test ecx, ecx
je 0x55d3a9
call fcn.00554347
jmp 0x55d3ab
xor eax, eax
fld dword [0x5c38cc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x308], 0x20
je 0x55d3ff
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x2f
test ecx, ecx
je 0x55d3e8
call fcn.00554347
jmp 0x55d3ea
xor eax, eax
fld dword [0x5c38c8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x308], 0x40
je 0x55d43e
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x30
test ecx, ecx
je 0x55d427
call fcn.00554347
jmp 0x55d429
xor eax, eax
fld dword [0x5c38c4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x308], 0x80
je 0x55d47d
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x31
test ecx, ecx
je 0x55d466
call fcn.00554347
jmp 0x55d468
xor eax, eax
fld dword [0x5a95f4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov al, byte [esi + 0x309]
test al, al
je 0x55d67e
test al, 1
je 0x55d4c5
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x32
test ecx, ecx
je 0x55d4ae
call fcn.00554347
jmp 0x55d4b0
xor eax, eax
fld dword [0x5c38c0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x309], 2
je 0x55d504
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x33
test ecx, ecx
je 0x55d4ed
call fcn.00554347
jmp 0x55d4ef
xor eax, eax
fld dword [0x5c38bc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x309], 4
je 0x55d543
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x34
test ecx, ecx
je 0x55d52c
call fcn.00554347
jmp 0x55d52e
xor eax, eax
fld dword [0x5b7d64]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x309], 8
je 0x55d582
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x35
test ecx, ecx
je 0x55d56b
call fcn.00554347
jmp 0x55d56d
xor eax, eax
fld dword [0x5c38b8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x309], 0x10
je 0x55d5c1
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x36
test ecx, ecx
je 0x55d5aa
call fcn.00554347
jmp 0x55d5ac
xor eax, eax
fld dword [0x5a72fc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x309], 0x20
je 0x55d600
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x37
test ecx, ecx
je 0x55d5e9
call fcn.00554347
jmp 0x55d5eb
xor eax, eax
fld dword [0x5c38b4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x309], 0x40
je 0x55d63f
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x38
test ecx, ecx
je 0x55d628
call fcn.00554347
jmp 0x55d62a
xor eax, eax
fld dword [0x5a4d74]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x309], 0x80
je 0x55d67e
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x39
test ecx, ecx
je 0x55d667
call fcn.00554347
jmp 0x55d669
xor eax, eax
fld dword [0x5c38b0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov al, byte [esi + 0x30a]
test al, al
je 0x55d87f
test al, 1
je 0x55d6c6
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3a
test ecx, ecx
je 0x55d6af
call fcn.00554347
jmp 0x55d6b1
xor eax, eax
fld dword [0x5c38ac]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x30a], 2
je 0x55d705
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3b
test ecx, ecx
je 0x55d6ee
call fcn.00554347
jmp 0x55d6f0
xor eax, eax
fld dword [0x5b712c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x30a], 4
je 0x55d744
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3c
test ecx, ecx
je 0x55d72d
call fcn.00554347
jmp 0x55d72f
xor eax, eax
fld dword [0x5c38a8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x30a], 8
je 0x55d783
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3d
test ecx, ecx
je 0x55d76c
call fcn.00554347
jmp 0x55d76e
xor eax, eax
fld dword [0x5c38a4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x30a], 0x10
je 0x55d7c2
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3e
test ecx, ecx
je 0x55d7ab
call fcn.00554347
jmp 0x55d7ad
xor eax, eax
fld dword [0x5c38a0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x30a], 0x20
je 0x55d801
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x3f
test ecx, ecx
je 0x55d7ea
call fcn.00554347
jmp 0x55d7ec
xor eax, eax
fld dword [0x5c389c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x30a], 0x40
je 0x55d840
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x40
test ecx, ecx
je 0x55d829
call fcn.00554347
jmp 0x55d82b
xor eax, eax
fld dword [0x5a7214]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x30a], 0x80
je 0x55d87f
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x41
test ecx, ecx
je 0x55d868
call fcn.00554347
jmp 0x55d86a
xor eax, eax
fld dword [0x5c3898]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.005549ff
jmp 0x55d8dd
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x55d8d5
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x5dcff8]
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 0x55d8d5
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0052ef4d
mov ecx, eax
test ecx, ecx
jne 0x55d893
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 [0x5dcff8]
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 0x55d963
mov byte [edi + eax + 0x20], 0
test byte [esi + 0x283], 4
je 0x55e41d
push 0x6c
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x42
test ecx, ecx
je 0x55d9a7
call fcn.0055b18d
mov edi, eax
jmp 0x55d9a9
xor edi, edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x394]
or dword [ebp - 4], 0xffffffff
push edi
call fcn.0055b259
inc dword [ebx + 0x390]
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 [0x5c37e0]
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 0x55dafe
fild dword [ebp + 8]
push ecx
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x5dcff8]
fstp dword [edi + 0x14]
fld dword [ebp + 8]
fdivr qword [0x5c37d8]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdiv qword [0x5dd010]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.004376a0
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 [0x5dcff8]
fstp dword [edi + 0x44]
test byte [esi + 0x347], 1
je 0x55db64
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x43
test ecx, ecx
je 0x55db48
call fcn.00554347
jmp 0x55db4a
xor eax, eax
fld dword [0x5a3680]
or ebx, 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
push eax
mov dword [ebp - 4], ebx
call fcn.0055b1f4
jmp 0x55db67
or ebx, 0xffffffff
test byte [esi + 0x347], 2
je 0x55dba6
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x44
test ecx, ecx
je 0x55db8f
call fcn.00554347
jmp 0x55db91
xor eax, eax
fld dword [0x5a3668]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x347], 4
je 0x55dbe5
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x45
test ecx, ecx
je 0x55dbce
call fcn.00554347
jmp 0x55dbd0
xor eax, eax
fld dword [0x5a3650]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x347], 8
je 0x55dc24
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x46
test ecx, ecx
je 0x55dc0d
call fcn.00554347
jmp 0x55dc0f
xor eax, eax
fld dword [0x5bbd9c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x347], 0x10
je 0x55dc63
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x47
test ecx, ecx
je 0x55dc4c
call fcn.00554347
jmp 0x55dc4e
xor eax, eax
fld dword [0x5bdb50]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x347], 0x20
je 0x55dca2
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x48
test ecx, ecx
je 0x55dc8b
call fcn.00554347
jmp 0x55dc8d
xor eax, eax
fld dword [0x5a72b4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x347], 0x40
je 0x55dce1
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x49
test ecx, ecx
je 0x55dcca
call fcn.00554347
jmp 0x55dccc
xor eax, eax
fld dword [0x5a4d78]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x347], 0x80
je 0x55dd20
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4a
test ecx, ecx
je 0x55dd09
call fcn.00554347
jmp 0x55dd0b
xor eax, eax
fld dword [0x5c38d8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov al, byte [esi + 0x348]
test al, al
je 0x55df21
test al, 1
je 0x55dd68
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4b
test ecx, ecx
je 0x55dd51
call fcn.00554347
jmp 0x55dd53
xor eax, eax
fld dword [0x5c38d4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x348], 2
je 0x55dda7
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4c
test ecx, ecx
je 0x55dd90
call fcn.00554347
jmp 0x55dd92
xor eax, eax
fld dword [0x5c38d0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x348], 4
je 0x55dde6
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4d
test ecx, ecx
je 0x55ddcf
call fcn.00554347
jmp 0x55ddd1
xor eax, eax
fld dword [0x5b7d58]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x348], 8
je 0x55de25
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4e
test ecx, ecx
je 0x55de0e
call fcn.00554347
jmp 0x55de10
xor eax, eax
fld dword [0x5ab258]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x348], 0x10
je 0x55de64
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x4f
test ecx, ecx
je 0x55de4d
call fcn.00554347
jmp 0x55de4f
xor eax, eax
fld dword [0x5c38cc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x348], 0x20
je 0x55dea3
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x50
test ecx, ecx
je 0x55de8c
call fcn.00554347
jmp 0x55de8e
xor eax, eax
fld dword [0x5c38c8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x348], 0x40
je 0x55dee2
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x51
test ecx, ecx
je 0x55decb
call fcn.00554347
jmp 0x55decd
xor eax, eax
fld dword [0x5c38c4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x348], 0x80
je 0x55df21
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x52
test ecx, ecx
je 0x55df0a
call fcn.00554347
jmp 0x55df0c
xor eax, eax
fld dword [0x5a95f4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov al, byte [esi + 0x349]
test al, al
je 0x55e122
test al, 1
je 0x55df69
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x53
test ecx, ecx
je 0x55df52
call fcn.00554347
jmp 0x55df54
xor eax, eax
fld dword [0x5c38c0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x349], 2
je 0x55dfa8
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x54
test ecx, ecx
je 0x55df91
call fcn.00554347
jmp 0x55df93
xor eax, eax
fld dword [0x5c38bc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x349], 4
je 0x55dfe7
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x55
test ecx, ecx
je 0x55dfd0
call fcn.00554347
jmp 0x55dfd2
xor eax, eax
fld dword [0x5b7d64]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x349], 8
je 0x55e026
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x56
test ecx, ecx
je 0x55e00f
call fcn.00554347
jmp 0x55e011
xor eax, eax
fld dword [0x5c38b8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x349], 0x10
je 0x55e065
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x57
test ecx, ecx
je 0x55e04e
call fcn.00554347
jmp 0x55e050
xor eax, eax
fld dword [0x5a72fc]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x349], 0x20
je 0x55e0a4
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x58
test ecx, ecx
je 0x55e08d
call fcn.00554347
jmp 0x55e08f
xor eax, eax
fld dword [0x5c38b4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x349], 0x40
je 0x55e0e3
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x59
test ecx, ecx
je 0x55e0cc
call fcn.00554347
jmp 0x55e0ce
xor eax, eax
fld dword [0x5a4d74]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x349], 0x80
je 0x55e122
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5a
test ecx, ecx
je 0x55e10b
call fcn.00554347
jmp 0x55e10d
xor eax, eax
fld dword [0x5c38b0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov al, byte [esi + 0x34a]
test al, al
je 0x55e323
test al, 1
je 0x55e16a
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5b
test ecx, ecx
je 0x55e153
call fcn.00554347
jmp 0x55e155
xor eax, eax
fld dword [0x5c38ac]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x34a], 2
je 0x55e1a9
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5c
test ecx, ecx
je 0x55e192
call fcn.00554347
jmp 0x55e194
xor eax, eax
fld dword [0x5b712c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x34a], 4
je 0x55e1e8
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5d
test ecx, ecx
je 0x55e1d1
call fcn.00554347
jmp 0x55e1d3
xor eax, eax
fld dword [0x5c38a8]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x34a], 8
je 0x55e227
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5e
test ecx, ecx
je 0x55e210
call fcn.00554347
jmp 0x55e212
xor eax, eax
fld dword [0x5c38a4]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x34a], 0x10
je 0x55e266
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x5f
test ecx, ecx
je 0x55e24f
call fcn.00554347
jmp 0x55e251
xor eax, eax
fld dword [0x5c38a0]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x34a], 0x20
je 0x55e2a5
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x60
test ecx, ecx
je 0x55e28e
call fcn.00554347
jmp 0x55e290
xor eax, eax
fld dword [0x5c389c]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x34a], 0x40
je 0x55e2e4
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x61
test ecx, ecx
je 0x55e2cd
call fcn.00554347
jmp 0x55e2cf
xor eax, eax
fld dword [0x5a7214]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
test byte [esi + 0x34a], 0x80
je 0x55e323
push 0xc
call fcn.00568473
pop ecx
mov ecx, eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], 0x62
test ecx, ecx
je 0x55e30c
call fcn.00554347
jmp 0x55e30e
xor eax, eax
fld dword [0x5c3898]
push eax
fstp dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], ebx
call fcn.0055b1f4
mov eax, dword [edi + 0x40]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.005549ff
jmp 0x55e381
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x55e379
fld dword [edi + 0x44]
fdiv dword [ecx + 4]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdivr qword [0x5dcff8]
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 0x55e379
fld dword [ebp - 0x14]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x1c]
call fcn.0052ef4d
mov ecx, eax
test ecx, ecx
jne 0x55e337
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 [0x5dcff8]
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 0x55e407
mov byte [edi + eax + 0x20], 0
call fcn.0057bb47
ret 4