Function at 0x500cef5
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
sub esp, 0x36c
lea ebp, [esp - 4]
mov eax, dword [0x509ddfc]
xor eax, ebp
mov dword [ebp + 0x36c], eax
push 0x7a8
mov eax, 0x5071bf5
call fcn.050702c4
mov edx, dword [ebp + 0x37c]
mov eax, dword [ebp + 0x378]
mov esi, dword [ebp + 0x380]
xor ebx, ebx
push edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x54], esi
mov word [ebp - 0x74], 0x7d2
mov word [ebp - 0x72], 9
mov word [ebp - 0x70], 1
mov word [ebp - 0x6e], bx
mov word [ebp - 0x6c], bx
mov word [ebp - 0x6a], bx
call fcn.0500c818
test al, al
pop ecx
jne 0x500cf6c
push 0x7061726d
call fcn.05004c30
cmp esi, ebx
fld1
je 0x500d036
mov edi, edx
call fcn.0500c835
test al, al
jne 0x500cf85
fstp st(0)
jmp 0x500cf62
mov eax, esi
mov ecx, dword [eax]
fild dword [eax]
test ecx, ecx
jge 0x500cf95
fadd qword [0x5079b78]
mov ecx, dword [eax + 8]
fstp qword [ebp - 0x40]
test ecx, ecx
fild dword [eax + 8]
jge 0x500cfa8
fadd qword [0x5079b78]
mov ecx, dword [eax + 0x10]
fstp qword [ebp - 0x28]
test ecx, ecx
fild dword [eax + 0x10]
jge 0x500cfbb
fadd qword [0x5079b78]
mov ecx, dword [eax + 4]
fstp qword [ebp - 0x38]
test ecx, ecx
fild dword [eax + 4]
jge 0x500cfce
fadd qword [0x5079b78]
xor esi, esi
mov edx, edi
mov cl, byte [edx]
inc esi
shl esi, cl
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [ebp - 0x10], esi
fild dword [ebp - 0x10]
fsub st(2)
fdivp st(1)
fstp qword [ebp - 0x50]
fild dword [eax + 0xc]
jge 0x500cff4
fadd qword [0x5079b78]
mov cl, byte [edx + 1]
xor esi, esi
inc esi
shl esi, cl
mov ecx, dword [eax + 0x14]
test ecx, ecx
mov dword [ebp - 0x10], esi
fild dword [ebp - 0x10]
fsub st(2)
fdivp st(1)
fstp qword [ebp - 0x48]
fild dword [eax + 0x14]
jge 0x500d019
fadd qword [0x5079b78]
mov cl, byte [edx + 2]
xor esi, esi
inc esi
shl esi, cl
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
fild dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
fsub st(2)
fdivp st(1)
fstp qword [ebp - 0x60]
jmp 0x500d05d
lea eax, [ebp - 0x10]
fstp st(0)
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
call fcn.0500ce64
fld1
add esp, 0x18
fld qword [ebp - 0x40]
push 0x80
fdiv qword [0x5079d98]
lea eax, [ebp + 0x1a8]
push ebx
push eax
fst qword [ebp - 0x68]
fld qword [ebp - 0x28]
fdiv qword [0x5079d90]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x38]
fdiv qword [0x5079d88]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x30]
fadd st(1)
fstp qword [ebp - 0x40]
fld qword [ebp - 0x38]
fadd st(1)
fstp qword [ebp - 0x28]
fmul qword [ebp - 0x50]
fld qword [ebp - 0x30]
fmul qword [ebp - 0x48]
fadd st(1)
fstp qword [ebp - 0x88]
fst qword [ebp - 0x90]
fxch st(1)
fsub qword [ebp - 0x60]
fmul qword [ebp - 0x38]
faddp st(1)
fstp qword [ebp - 0x98]
call sub.MSVCR80.dll_memset
fld qword [0x5079750]
mov dword [ebp + 0x1ac], 0x41444245
mov dword [ebp + 0x1b0], 0x4000000
mov dword [ebp + 0x1b4], 0x73636e72
mov dword [ebp + 0x1b8], 0x33434c52
mov dword [ebp + 0x1bc], 0x58595a20
lea esi, [ebp - 0x74]
lea edi, [ebp + 0x1c0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 4
mov dword [ebp + 0x1cc], 0x61637370
mov dword [ebp + 0x1d0], 0x4150504c
fstp qword [esp]
mov dword [ebp + 0x1e8], 1
call fcn.05005171
mov dword [ebp + 0x1ec], eax
fld qword [0x5079748]
fstp qword [esp]
call fcn.05005171
fld qword [0x5079740]
mov dword [ebp + 0x1f0], eax
fstp qword [esp]
call fcn.05005171
mov edi, dword [ebp - 0x18]
pop ecx
pop ecx
mov dword [ebp + 0x1f4], eax
lea eax, [ebp + 0x1a8]
push eax
push edi
lea ecx, [ebp + 0xa0]
mov dword [ebp + 0x1f8], 0x41444245
call fcn.050094e9
push 0x7d2
lea ecx, [ebp]
call fcn.0500739b
lea eax, [ebp]
push eax
lea ecx, [ebp + 0xa0]
mov dword [ebp - 4], ebx
call fcn.0500952b
mov ecx, dword [ebp - 0x10]
lea edx, [ebp + 0x358]
call fcn.0500c8c2
mov eax, dword [ebp - 0x54]
cmp eax, ebx
je 0x500d1fb
lea ecx, [ebp + 0x358]
push ecx
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax + 2]
push ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp + 0x228]
push str.JPX_CIELAB_bits_ch:__u__u__u__RL:_lu_OL:_lu_Ra:_lu_Oa:_lu_Rb:_lu_Ob:_lu_IL:_s
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x30
jmp 0x500d221
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax + 2]
push ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp + 0x228]
push str.JPX_CIELAB_bits_ch:__u__u__u__default_parameters
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x14
lea eax, [ebp + 0x228]
push eax
push edi
lea ecx, [ebp - 0x2ac]
call fcn.0500763a
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp + 0xa0]
mov byte [ebp - 4], 1
call fcn.0500952b
fld qword [0x5079858]
sub esp, 0x18
fstp qword [esp + 0x10]
lea ecx, [ebp - 0x2dc]
fld1
fstp qword [esp + 8]
fld qword [0x5079848]
fstp qword [esp]
push 0x77747074
call fcn.0500776e
mov eax, ecx
push eax
lea ecx, [ebp + 0xa0]
mov byte [ebp - 4], 2
call fcn.0500952b
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x14]
call fcn.0500ca1d
add esp, 0xc
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.050078af
mov eax, ecx
push eax
lea ecx, [ebp + 0xa0]
mov byte [ebp - 4], 3
call fcn.0500952b
push ebx
push 0x41324232
push 0x41324230
mov esi, 0x6d414220
push esi
push edi
lea ecx, [ebp - 0x140]
call fcn.05008d2c
push ebx
push ebx
push 0x41324231
push esi
push edi
lea ecx, [ebp - 0xec]
call fcn.05008d2c
push 3
pop edx
push edx
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 5
call fcn.05008e08
push edx
call fcn.05008e12
push edx
lea ecx, [ebp - 0xec]
call fcn.05008e08
push edx
call fcn.05008e12
mov esi, 0x507a1a8
lea edi, [ebp + 0x360]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0x365]
stosd dword es:[edi], eax
stosw word es:[edi], ax
push 8
stosb byte es:[edi], al
lea eax, [ebp + 0x364]
push ebx
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0xc
pop edi
push edi
lea eax, [ebp + 0x360]
push eax
push ebx
lea ecx, [ebp - 0x140]
call fcn.05008e1c
push edi
lea eax, [ebp + 0x360]
push eax
push 1
lea ecx, [ebp - 0x140]
call fcn.05008e1c
push edi
lea eax, [ebp + 0x360]
push eax
push 2
pop esi
push esi
lea ecx, [ebp - 0x140]
call fcn.05008e1c
push edi
lea eax, [ebp + 0x360]
push eax
push ebx
lea ecx, [ebp - 0x140]
call fcn.05008f65
push edi
lea eax, [ebp + 0x360]
push eax
push 1
lea ecx, [ebp - 0x140]
call fcn.05008f65
push edi
lea eax, [ebp + 0x360]
push eax
push esi
lea ecx, [ebp - 0x140]
call fcn.05008f65
push edi
lea eax, [ebp + 0x360]
push eax
push ebx
lea ecx, [ebp - 0xec]
call fcn.05008e1c
push edi
lea eax, [ebp + 0x360]
push eax
push 1
lea ecx, [ebp - 0xec]
call fcn.05008e1c
push edi
lea eax, [ebp + 0x360]
push eax
push esi
lea ecx, [ebp - 0xec]
call fcn.05008e1c
push edi
lea eax, [ebp + 0x360]
push eax
push ebx
lea ecx, [ebp - 0xec]
call fcn.05008f65
push edi
lea eax, [ebp + 0x360]
push eax
push 1
lea ecx, [ebp - 0xec]
call fcn.05008f65
push edi
lea eax, [ebp + 0x360]
push eax
push esi
lea ecx, [ebp - 0xec]
call fcn.05008f65
fld qword [ebp - 0x28]
sub esp, 0x28
fstp qword [esp + 0x20]
lea eax, [ebp + 0x328]
fld qword [ebp - 0x40]
fstp qword [esp + 0x18]
fld qword [ebp - 0x38]
fstp qword [esp + 0x10]
fld qword [ebp - 0x30]
fstp qword [esp + 8]
fld qword [ebp - 0x68]
fstp qword [esp]
call fcn.0500cc9f
add esp, 0x28
lea eax, [ebp + 0x328]
push eax
push esi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x140]
mov byte [ebp - 0x1c], 2
mov byte [ebp - 0x1b], 2
mov byte [ebp - 0x1a], 2
call fcn.05008e98
lea eax, [ebp + 0x328]
push eax
push esi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0xec]
call fcn.05008e98
fld qword [ebp - 0x40]
fld qword [0x507a168]
xor edi, edi
fadd st(1), st(0)
fxch st(1)
fsub qword [ebp - 0x88]
fld st(0)
fmul st(1)
fmulp st(1)
fstp qword [ebp - 0x60]
fld qword [ebp - 0x68]
fadd st(1)
fsub qword [ebp - 0x90]
fld st(0)
fmul st(1)
fmulp st(1)
fstp qword [ebp - 0x50]
fadd qword [ebp - 0x28]
fsub qword [ebp - 0x98]
fld st(0)
fmul st(1)
fmulp st(1)
fstp qword [ebp - 0x30]
fld qword [ebp + edi*8 - 0x1ec]
push ecx
fmul qword [ebp - 0x60]
push ecx
fmul qword [ebp - 0x48]
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
mov dword [ebp + edi*4 - 0x254], eax
add edi, 3
cmp edi, 7
pop ecx
pop ecx
jb 0x500d4fb
xor edi, edi
inc edi
fld qword [ebp + edi*8 - 0x1ec]
push ecx
fmul qword [ebp - 0x50]
push ecx
fmul qword [ebp - 0x58]
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
mov dword [ebp + edi*4 - 0x254], eax
add edi, 3
cmp edi, 8
pop ecx
pop ecx
jb 0x500d52c
mov edi, esi
fld qword [ebp + edi*8 - 0x1ec]
push ecx
fmul qword [ebp - 0x30]
push ecx
fmul qword [ebp - 0x14]
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
mov dword [ebp + edi*4 - 0x254], eax
add edi, 3
cmp edi, 9
pop ecx
pop ecx
jb 0x500d55c
xor eax, eax
lea edi, [ebp - 0x230]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
fld qword [ebp + edi*8 - 0x1ec]
push ecx
fmul qword [ebp - 0x60]
push ecx
fmul qword [ebp - 0x48]
fmul qword [0x5079cc0]
fmul qword [0x507a1a0]
fstp qword [esp]
call fcn.050064f6
mov dword [ebp + edi*4 - 0x170], eax
inc edi
cmp edi, 3
pop ecx
pop ecx
jb 0x500d597
push 3
pop edi
fld qword [ebp + edi*8 - 0x1ec]
push ecx
fmul qword [ebp - 0x50]
push ecx
fmul qword [ebp - 0x58]
fmul qword [0x5079cc0]
fmul qword [0x507a198]
fstp qword [esp]
call fcn.050064f6
mov dword [ebp + edi*4 - 0x170], eax
inc edi
cmp edi, 7
pop ecx
pop ecx
jb 0x500d5cc
push 7
pop edi
fld qword [ebp + edi*8 - 0x1ec]
push ecx
fmul qword [ebp - 0x30]
push ecx
fmul qword [ebp - 0x14]
fmul qword [0x5079cc0]
fmul qword [0x507a190]
fstp qword [esp]
call fcn.050064f6
mov dword [ebp + edi*4 - 0x170], eax
inc edi
cmp edi, 9
pop ecx
pop ecx
jb 0x500d601
fld qword [0x507a188]
push ecx
push ecx
fstp qword [esp]
call fcn.050064f6
fld qword [0x507a180]
mov dword [ebp - 0x14c], eax
fstp qword [esp]
call fcn.050064f6
fld qword [0x507a178]
mov dword [ebp - 0x148], eax
fstp qword [esp]
call fcn.050064f6
pop ecx
pop ecx
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x140]
call fcn.05008f5b
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0xec]
call fcn.05008f5b
push ebx
push ebx
mov edi, 0x6b545243
push edi
lea ecx, [ebp - 0x18c]
call fcn.05007c8b
push ebx
push ebx
push edi
lea ecx, [ebp - 0x224]
call fcn.05007c8b
push ebx
push ebx
push edi
lea ecx, [ebp - 0x208]
call fcn.05007c8b
fld qword [ebp - 0x98]
sub esp, 0x30
fstp qword [esp + 0x28]
lea eax, [ebp - 0x34c]
fld qword [ebp - 0x28]
lea ecx, [ebp - 0x384]
fstp qword [esp + 0x20]
mov byte [ebp - 4], 8
fld qword [ebp - 0x90]
fstp qword [esp + 0x18]
fld qword [ebp - 0x68]
fstp qword [esp + 0x10]
fld qword [ebp - 0x88]
fstp qword [esp + 8]
fld qword [ebp - 0x40]
fstp qword [esp]
push eax
lea eax, [ebp - 0x314]
call fcn.0500cd4f
add esp, 0x34
lea eax, [ebp - 0x34c]
push eax
push 4
lea ecx, [ebp - 0x18c]
call fcn.05007cd0
lea eax, [ebp - 0x384]
push eax
push 4
lea ecx, [ebp - 0x224]
call fcn.05007cd0
lea eax, [ebp - 0x314]
push eax
push 4
lea ecx, [ebp - 0x208]
call fcn.05007cd0
lea ecx, [ebp - 0x18c]
call fcn.05007d15
mov edi, eax
push edi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x59c]
call fcn.0501488a
push edi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x6a8]
mov byte [ebp - 4], 9
call fcn.0501488a
push edi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0xa
call fcn.0501488a
push edi
push dword [ebp - 0x59c]
lea ecx, [ebp - 0x80]
call fcn.0500519c
push edi
push dword [ebp - 0x6a8]
lea ecx, [ebp - 0x284]
call fcn.0500519c
push edi
push dword [ebp - 0x490]
lea ecx, [ebp - 0x26c]
call fcn.0500519c
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0xe
call fcn.05007d2b
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x224]
call fcn.05007d2b
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x208]
call fcn.05007d2b
push edi
push dword [ebp - 0x59c]
lea ecx, [ebp - 0x140]
push ebx
mov byte [ebp - 4], 0xb
call fcn.05008edf
push edi
push dword [ebp - 0x6a8]
lea ecx, [ebp - 0x140]
push 1
call fcn.05008edf
push edi
push dword [ebp - 0x490]
lea ecx, [ebp - 0x140]
push esi
call fcn.05008edf
push edi
push dword [ebp - 0x59c]
lea ecx, [ebp - 0xec]
push ebx
call fcn.05008edf
push edi
push dword [ebp - 0x6a8]
lea ecx, [ebp - 0xec]
push 1
call fcn.05008edf
push edi
push dword [ebp - 0x490]
lea ecx, [ebp - 0xec]
push esi
call fcn.05008edf
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp + 0xa0]
call fcn.0500952b
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp + 0xa0]
call fcn.0500952b
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0xa
call fcn.050148bc
lea ecx, [ebp - 0x6a8]
mov byte [ebp - 4], 9
call fcn.050148bc
lea ecx, [ebp - 0x59c]
mov byte [ebp - 4], 8
call fcn.050148bc
lea ecx, [ebp + 0xa0]
call fcn.050096b5
mov edi, eax
mov esi, dword [edi + 0x28]
push esi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x7b4]
call fcn.0501488a
push dword [ebp - 0x7b4]
mov eax, dword [edi]
push esi
push ebx
mov ecx, edi
mov byte [ebp - 4], 0xf
call dword [eax + 0x18]
mov ecx, edi
call fcn.0503f8a6
push esi
push dword [ebp - 0x7b4]
call fcn.050417fa
push esi
push dword [ebp - 0x7b4]
push dword [ebp - 0x18]
call fcn.05041edb
add esp, 0x14
lea ecx, [ebp - 0x7b4]
mov esi, eax
mov byte [ebp - 4], 8
call fcn.050148bc
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 4
call fcn.05008d8d
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 3
call fcn.05008d8d
mov eax, vtable.CProfileTag.0
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x2dc], eax
mov byte [ebp - 4], bl
call fcn.050076bd
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x36c]
xor ecx, ebp
call fcn.05070186
add ebp, 0x370
leave
ret