Function at 0x100847f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x1017358c
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x101c52b4]
xor eax, esp
mov dword [esp + 0xd4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c52b4]
xor eax, esp
push eax
lea eax, [esp + 0xec]
mov dword fs:[0], eax
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x110]
xor ebx, ebx
mov dword [esp + 0xa4], ebx
nop
fld qword [0x10179960]
fld qword [esp + 0x114]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x10084fb5
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x10084fb7
push 0x1017994c
push edi
call fcn.1010ece0
add esp, 8
test eax, eax
je 0x100849b5
mov al, 0x6f
mov byte [esp + 0xcd], al
mov byte [esp + 0xcf], al
mov al, 0xd6
mov byte [esp + 0xc4], 0xd7
mov byte [esp + 0xc5], 0xa2
mov byte [esp + 0xc6], 0xd2
mov byte [esp + 0xc7], 0xe2
mov byte [esp + 0xc8], 0x2c
mov byte [esp + 0xc9], 0x47
mov byte [esp + 0xca], 0x65
mov byte [esp + 0xcb], 0x74
mov byte [esp + 0xcc], 0x43
mov byte [esp + 0xce], 0x6c
mov byte [esp + 0xd0], 0x72
mov byte [esp + 0xd1], 0x4e
mov byte [esp + 0xd2], 0x75
mov byte [esp + 0xd3], 0x6d
mov byte [esp + 0xd4], 0xbd
mov byte [esp + 0xd5], 0xd3
mov byte [esp + 0xd6], 0xbf
mov byte [esp + 0xd7], 0xda
mov byte [esp + 0xd8], 0xb2
mov byte [esp + 0xd9], 0xbb
mov byte [esp + 0xda], al
mov byte [esp + 0xdb], 0xa7
mov byte [esp + 0xdc], 0xb3
mov byte [esp + 0xdd], al
mov byte [esp + 0xde], 0x48
mov byte [esp + 0xdf], 0x53
mov byte [esp + 0xe0], 0x56
mov byte [esp + 0xe1], 0xd1
mov byte [esp + 0xe2], 0xd5
mov byte [esp + 0xe3], 0xc9
mov byte [esp + 0xe4], 0xab
mov byte [esp + 0xe5], 0x21
mov byte [esp + 0xe6], bl
mov bl, bl
lea eax, [esp + 0xc4]
push eax
push esi
call fcn.100423a0
add esp, 8
mov ebp, ebp
jmp 0x10084fb7
push ebx
pop ebx
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x14], ebx
mov dl, dl
mov ebp, ebp
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x118]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x118]
lea edx, [esp + 0x7c]
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
push edx
push eax
push esi
call fcn.10048c70
add esp, 0x28
test eax, eax
je 0x10084fb7
fld1
fsub qword [esp + 0x114]
fnstcw word [esp + 0x24]
movzx eax, word [esp + 0x24]
fmul qword [0x10179910]
or eax, 0xc00
mov dword [esp + 0x94], eax
fldcw word [esp + 0x94]
fistp qword [esp + 0xbc]
mov ebp, dword [esp + 0xbc]
fldcw word [esp + 0x24]
nop
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0xf4], ebx
mov ebp, ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov byte [esp + 0xf4], 1
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0xf4], 2
mov ah, ah
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov byte [esp + 0xf4], 3
mov bl, bl
mov ecx, ecx
xor esi, esi
mov dword [esp + 0x24], esi
mov ah, ah
mov dword [esp + 0xa8], 1
push edx
pop edx
cmp edi, ebx
je 0x10084c73
cmp byte [edi], 0x40
jne 0x10084ad2
add edi, 1
mov ebp, ebp
mov dword [esp + 0xa8], ebx
mov ebx, ebx
cmp edi, ebx
je 0x10084c73
mov dword [esp + 0x94], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x28], ebx
push ebx
pop ebx
mov dword [esp + 0x24], ebx
mov ebx, ebx
mov byte [esp + 0xbc], 0x25
mov byte [esp + 0xbd], 0x78
mov byte [esp + 0xbe], 0x2d
mov byte [esp + 0xbf], 0x25
mov byte [esp + 0xc0], 0x78
mov byte [esp + 0xc1], 0
mov ch, ch
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0xc4]
push eax
push edi
call fcn.10110865
add esp, 0x10
push eax
pop eax
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x50]
call fcn.10076210
push eax
pop eax
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x60]
call fcn.10076210
push eax
pop eax
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x30]
call fcn.10076210
mov ebx, ebx
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x40]
call fcn.10076210
mov bh, bh
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x10084bb2
mov eax, dword [esp + 0x64]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10084bbb
call fcn.10110295
mov ecx, dword [esp + 0x60]
movzx edx, byte [esp + 0x26]
add edx, ebp
mov dword [ecx + esi*4], edx
mov al, al
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x10084bdc
mov eax, dword [esp + 0x34]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10084be5
call fcn.10110295
mov ecx, dword [esp + 0x30]
movzx eax, byte [esp + 0x25]
add eax, ebp
mov dword [ecx + esi*4], eax
mov ebp, ebp
mov ecx, dword [esp + 0x40]
cmp ecx, ebx
je 0x10084c06
mov eax, dword [esp + 0x44]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10084c0f
call fcn.10110295
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
and edx, 0xff
add edx, ebp
mov dword [ecx + esi*4], edx
mov edx, edx
mov ecx, dword [esp + 0x50]
cmp ecx, ebx
je 0x10084c35
mov eax, dword [esp + 0x54]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10084c3e
call fcn.10110295
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x28]
mov dword [ecx + esi*4], eax
mov ebp, ebp
push 0x10179578
push edi
call fcn.1010ece0
add esp, 8
mov edi, eax
mov ah, ah
cmp edi, ebx
je 0x10084c62
add edi, 1
mov eax, eax
add esi, 1
mov al, al
cmp edi, ebx
jne 0x10084af6
mov dword [esp + 0x24], esi
push ecx
pop ecx
cmp dword [esp + 0x74], ebx
mov dword [esp + 0x98], ebx
jle 0x10084f02
mov eax, dword [esp + 0x70]
lea ebx, [ebx]
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x94], ecx
jle 0x10084ee7
mov edx, dword [esp + 0x98]
imul edx, dword [esp + 0x18]
add edx, dword [esp + 0x14]
lea eax, [edx + ecx*4]
mov dword [esp + 0xb0], eax
push ecx
pop ecx
mov byte [eax + 3], 0
xchg ebx, eax
xchg ebx, eax
xor edi, edi
cmp esi, ebx
mov dword [esp + 0x28], edi
jle 0x10084eca
jmp 0x10084cd7
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
cmp ecx, ebx
je 0x10084cec
mov eax, dword [esp + 0x44]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x10084cf5
call fcn.10110295
mov ecx, dword [esp + 0x40]
lea esi, [edi*4]
lea ebp, [esi + ecx]
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x10084d14
mov eax, dword [esp + 0x34]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x10084d1d
call fcn.10110295
mov ecx, dword [esp + 0x30]
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x10084d35
mov eax, dword [esp + 0x64]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x10084d3e
call fcn.10110295
mov ecx, dword [esp + 0x60]
lea edi, [esi + ecx]
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x10084d58
mov eax, dword [esp + 0x54]
sub eax, ecx
sar eax, 2
cmp dword [esp + 0x28], eax
jb 0x10084d61
call fcn.10110295
mov ecx, dword [esp + 0x50]
mov eax, dword [ebp]
mov edx, dword [esp + 0xb0]
mov ebx, dword [ebx]
mov edi, dword [edi]
mov ecx, dword [esi + ecx]
mov dword [esp + 0xa0], eax
mov eax, dword [edx]
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov edx, ecx
shr edx, 0x10
and edx, 0xff
mov dh, dh
movzx esi, ch
mov dword [esp + 0x9c], esi
mov cl, cl
and ecx, 0xff
mov ch, ch
mov esi, eax
shr esi, 0x10
and esi, 0xff
mov cl, cl
movzx ebp, ah
mov dword [esp + 0xac], ebp
push ecx
pop ecx
and eax, 0xff
mov dword [esp + 0xbc], eax
mov esi, esi
mov ebp, edx
sub ebp, edi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0xb4], eax
mov ah, ah
mov ebp, dword [esp + 0x9c]
sub ebp, ebx
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0xb8], eax
mov dl, dl
mov ebp, ecx
sub ebp, dword [esp + 0xa0]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov bl, bl
add edx, edi
cmp edx, 0xff
jle 0x10084e2d
mov edx, 0xff
mov bl, bl
mov edi, dword [esp + 0x9c]
add ebx, edi
cmp ebx, 0xff
jle 0x10084e45
mov ebx, 0xff
mov edx, edx
mov edi, dword [esp + 0xa0]
add ecx, edi
cmp ecx, 0xff
jle 0x10084e5d
mov ecx, 0xff
push ecx
pop ecx
cmp esi, dword [esp + 0xb4]
jl 0x10084e96
cmp esi, edx
jg 0x10084e96
mov edx, dword [esp + 0xac]
cmp edx, dword [esp + 0xb8]
jl 0x10084e96
cmp edx, ebx
jg 0x10084e96
mov edx, dword [esp + 0xbc]
cmp edx, eax
jl 0x10084e96
cmp edx, ecx
jg 0x10084e96
mov eax, 1
jmp 0x10084e98
xor eax, eax
cmp dword [esp + 0xa8], eax
je 0x10084eba
mov eax, dword [esp + 0x28]
add eax, 1
xor ebx, ebx
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
jl 0x10084cd3
jmp 0x10084ec6
add dword [esp + 0xa4], 1
mov cl, cl
xor ebx, ebx
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x70]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x94], ecx
jl 0x10084ca1
mov ecx, dword [esp + 0x98]
add ecx, 1
cmp ecx, dword [esp + 0x74]
mov dword [esp + 0x98], ecx
jl 0x10084c90
mov ecx, dword [esp + 0x14]
push ecx
call fcn.1010dffc
add esp, 4
mov dword [esp + 0x14], ebx
mov bh, bh
mov byte [esp + 0xf4], 2
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x10084f2e
push eax
call fcn.100fcea8
add esp, 4
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov byte [esp + 0xf4], 1
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x10084f53
push eax
call fcn.100fcea8
add esp, 4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0xf4], 0
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x10084f78
push eax
call fcn.100fcea8
add esp, 4
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0xf4], 0xffffffff
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x10084fa0
push eax
call fcn.100fcea8
add esp, 4
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
jmp 0x10084fb9
fstp st(0)
xor eax, eax
mov ecx, dword [esp + 0xec]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd4]
xor ecx, esp
call fcn.1010e4d7
add esp, 0xe4
ret