Function at 0x10016960
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dacb2
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
push esi
push edi
mov eax, dword [0x1010502c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.10017530
mov cl, 0x12
mov byte [ebp - 0x40], 0x7e
mov byte [ebp - 0x13], cl
mov al, 0x1d
xor al, byte [ebp - 0x40]
mov dl, 0x17
mov byte [ebp - 0x3f], al
mov ch, 0x10
mov byte [ebp - 0x14], cl
mov dh, 0xa
xor cl, byte [ebp - 0x40]
mov ah, 0x1b
mov byte [ebp - 0x3e], cl
mov cl, byte [ebp - 0x40]
mov byte [ebp - 0x11], 0x50
xor dl, cl
mov al, byte [ebp - 0x11]
xor dh, cl
xor al, cl
mov byte [ebp - 0x12], 0x1a
mov byte [ebp - 0x39], al
xor ch, cl
mov al, byte [ebp - 0x12]
xor ah, cl
xor al, cl
mov byte [ebp - 0x3d], dl
mov byte [ebp - 0x38], al
mov al, byte [ebp - 0x13]
xor al, cl
mov byte [ebp - 0x3b], ch
mov byte [ebp - 0x37], al
mov al, byte [ebp - 0x14]
xor al, cl
mov byte [ebp - 0x3a], dh
mov byte [ebp - 0x35], 0
lea ecx, [ebp - 0x3f]
mov edx, str.55_8B_EC_56_8B_F1_8B_8E_________8B_01_8B_90_________6A_01_FF_D2_8B_8E_________8B_01_8B_55_08_8B_80_________6A_00
mov byte [ebp - 0x3c], ah
mov byte [ebp - 0x36], al
mov word [ebp - 0x35], 0x100
call fcn.10016830
mov edi, eax
mov byte [ebp - 0x50], 0x4e
mov cl, 0x2d
mov byte [ebp - 0x14], 0x60
xor cl, byte [ebp - 0x50]
mov al, 0x20
mov byte [ebp - 0x4f], cl
mov dl, 0x22
mov cl, byte [ebp - 0x50]
mov ch, 0x27
xor al, cl
mov byte [ebp - 0x13], 0x2a
mov byte [ebp - 0x4b], al
mov dh, 0x2b
mov al, byte [ebp - 0x14]
mov ah, 0x3a
xor al, cl
mov byte [ebp - 0x12], dl
mov byte [ebp - 0x49], al
xor ch, cl
mov al, byte [ebp - 0x13]
xor dh, cl
xor al, cl
mov byte [ebp - 0x11], dl
mov byte [ebp - 0x48], al
xor dl, cl
mov al, byte [ebp - 0x12]
xor ah, cl
xor al, cl
mov byte [ebp - 0x45], 0
mov byte [ebp - 0x47], al
mov al, byte [ebp - 0x11]
xor al, cl
mov byte [ebp - 0x4e], dl
mov byte [ebp - 0x4d], ch
mov byte [ebp - 0x4c], dh
mov byte [ebp - 0x4a], ah
mov byte [ebp - 0x46], al
mov word [ebp - 0x45], 0x100
mov edx, str.55_8B_EC_51_53_8B_D9_8B_0D_________C7_45__________
lea ecx, [ebp - 0x4f]
call fcn.10016830
mov esi, dword [0x10107740]
push 0xc
mov dword [ebp - 0x18], eax
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x28]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x1010769c]
mov dword [0x1010769c], eax
test esi, esi
je 0x10016afb
mov eax, dword [esi]
test eax, eax
je 0x10016aeb
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x1010769c]
add esp, 8
cmp dword [eax + 8], 0x6c
jb 0x10016b1a
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x1b4], 0x10036120
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x28]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101076a0]
mov dword [0x101076a0], eax
test esi, esi
je 0x10016b81
mov eax, dword [esi]
test eax, eax
je 0x10016b71
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x101076a0]
add esp, 8
cmp dword [eax + 8], 0x6b
jb 0x10016ba0
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x1b0], 0x100361a0
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x24]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107674]
mov dword [0x10107674], eax
test esi, esi
je 0x10016c07
mov eax, dword [esi]
test eax, eax
je 0x10016bf7
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107674]
add esp, 8
cmp dword [eax + 8], 0x29
jb 0x10016c26
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0xa8], 0x10041070
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x48]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107670]
mov dword [0x10107670], eax
test esi, esi
je 0x10016c8d
mov eax, dword [esi]
test eax, eax
je 0x10016c7d
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107670]
add esp, 8
cmp dword [eax + 8], 0x1b
jb 0x10016ca9
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x70], 0x10040320
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x5c]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107660]
mov dword [0x10107660], eax
test esi, esi
je 0x10016d10
mov eax, dword [esi]
test eax, eax
je 0x10016d00
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107660]
add esp, 8
cmp dword [eax + 8], 0x10
jb 0x10016d2c
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x44], 0x10035030
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x5c]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107664]
mov dword [0x10107664], eax
test esi, esi
je 0x10016d93
mov eax, dword [esi]
test eax, eax
je 0x10016d83
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107664]
add esp, 8
cmp dword [eax + 8], 0x2a
jb 0x10016db2
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0xac], 0x100251c0
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x14]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107668]
mov dword [0x10107668], eax
test esi, esi
je 0x10016e19
mov eax, dword [esi]
test eax, eax
je 0x10016e09
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107668]
add esp, 8
cmp dword [eax + 8], 9
jb 0x10016e35
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x28], 0x1003f270
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x18]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107678]
mov dword [0x10107678], eax
test esi, esi
je 0x10016e9c
mov eax, dword [esi]
test eax, eax
je 0x10016e8c
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107678]
add esp, 8
cmp dword [eax + 8], 0x13
jb 0x10016eb8
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x50], 0x10039820
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107688]
mov dword [0x10107688], eax
test esi, esi
je 0x10016f1e
mov eax, dword [esi]
test eax, eax
je 0x10016f0e
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107688]
add esp, 8
cmp dword [eax + 8], 0x22
jb 0x10016f3d
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x8c], 0x10036d30
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 9
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x44]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107690]
mov dword [0x10107690], eax
test esi, esi
je 0x10016fa4
mov eax, dword [esi]
test eax, eax
je 0x10016f94
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107690]
add esp, 8
cmp dword [eax + 8], 0x1e
jb 0x10016fc0
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x7c], 0x10036020
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xa
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x48]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x1010768c]
mov dword [0x1010768c], eax
test esi, esi
je 0x10017027
mov eax, dword [esi]
test eax, eax
je 0x10017017
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x1010768c]
add esp, 8
cmp dword [eax + 8], 0x13
jb 0x10017043
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x50], 0x10036ae0
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xb
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x44]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107694]
mov dword [0x10107694], eax
test esi, esi
je 0x100170aa
mov eax, dword [esi]
test eax, eax
je 0x1001709a
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107694]
add esp, 8
cmp dword [eax + 8], 5
jb 0x100170c6
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x18], 0x10036330
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xc
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x38]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107698]
mov dword [0x10107698], eax
test esi, esi
je 0x1001712d
mov eax, dword [esi]
test eax, eax
je 0x1001711d
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107698]
add esp, 8
cmp dword [eax + 8], 8
jb 0x10017149
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x24], 0x1003eef0
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xd
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x48]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x1010767c]
mov dword [0x1010767c], eax
test esi, esi
je 0x100171b0
mov eax, dword [esi]
test eax, eax
je 0x100171a0
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x1010767c]
add esp, 8
cmp dword [eax + 8], 0x12
jb 0x100171cc
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x4c], 0x10036060
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xe
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x48]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107680]
mov dword [0x10107680], eax
test esi, esi
je 0x10017233
mov eax, dword [esi]
test eax, eax
je 0x10017223
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107680]
add esp, 8
cmp dword [eax + 8], 0x11
jb 0x1001724f
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x48], 0x100360a0
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xf
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x48]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x10107684]
mov dword [0x10107684], eax
test esi, esi
je 0x100172b6
mov eax, dword [esi]
test eax, eax
je 0x100172a6
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x10107684]
add esp, 8
cmp dword [eax + 8], 0xe
jb 0x100172d2
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x3c], 0x100360e0
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0x10
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x38]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101076a4]
mov dword [0x101076a4], eax
test esi, esi
je 0x10017339
mov eax, dword [esi]
test eax, eax
je 0x10017329
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x101076a4]
add esp, 8
cmp dword [eax + 8], 6
jb 0x10017355
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x1c], 0x1003ee80
call fcn.10008000
add esp, 4
mov esi, dword [0x10107740]
push 0xc
call fcn.100d8fa9
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0x11
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, eax
mov dword [eax + 8], 0
push dword [esi + 0x48]
call fcn.10048cc0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101076a8]
mov dword [0x101076a8], eax
test esi, esi
je 0x100173bc
mov eax, dword [esi]
test eax, eax
je 0x100173ac
push eax
call fcn.100d9018
add esp, 4
push 0xc
push esi
call fcn.100d8ffc
mov eax, dword [0x101076a8]
add esp, 8
cmp dword [eax + 8], 0x25
jb 0x100173db
mov eax, dword [eax]
push 0x100f5254
mov dword [eax + 0x98], 0x10038420
call fcn.10008000
add esp, 4
call fcn.1008d690
cmp dword [0x101075d0], 0
jne 0x100173fa
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x101075d0], eax
xor eax, eax
mov esi, 0x101075cc
xchg dword [esi], eax
push 0x10107548
mov edx, 0x10036230
mov ecx, edi
call fcn.1008d6e0
mov ecx, dword [ebp - 0x18]
mov edx, 0x100362b0
push 0x10107544
call fcn.1008d6e0
call fcn.1008d690
cmp dword [0x101075d0], 0
je 0x10017439
call fcn.1008d5a0
xor eax, eax
xchg dword [esi], eax
call fcn.10015bf0
push 4
call fcn.100d8fa9
mov edi, eax
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], 0x12
mov dl, 0x54
mov dword [ebp - 0x60], 0x35382454
xor ecx, ecx
mov dword [ebp - 0x5c], 0xb26312d
mov dword [ebp - 0x58], 0x2026213c
mov word [ebp - 0x54], 0
lea eax, [ebp - 0x5f]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10017488
mov dl, byte [ebp - 0x60]
jmp 0x10017477
lea eax, [ebp - 0x5f]
mov word [ebp - 0x54], 0x100
push 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
call fcn.100d8fa9
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x30], eax
lea edx, [eax + 4]
mov dword [ebp - 0x28], edx
mov dword [eax], ecx
mov dword [ebp - 0x2c], edx
mov byte [ebp - 4], 0x14
mov dword [edi], vtable.EventListener.0
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x100174fa
nop dword [eax + eax]
mov eax, dword [0x10107740]
push 1
push dword [esi]
mov ecx, dword [eax + 0x38]
push edi
mov eax, dword [ecx]
call dword [eax + 0xc]
add esi, 4
cmp esi, dword [ebp - 0x18]
jne 0x100174e0
lea ecx, [ebp - 0x30]
call fcn.10006f60
mov byte [0x10105743], 1
mov byte [0x101057fa], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret