Function at 0x10009490
Capabilities:
Allocate or change rwx memory
Check for time delay via gettickcount
Enumerate pe sections
Execute shellcode via indirect call
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9f0
mov eax, dword [0x10012040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x1001338c], 0
mov cl, byte [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x9e0], ebx
jne 0x10009500
cmp cl, 0xf4
je 0x10009500
mov al, byte [ebx]
cmp al, 0xc1
je 0x100094ef
cmp al, 0xc3
je 0x100094ef
cmp al, 0xc2
je 0x100094e8
cmp al, 0xc4
je 0x100094e8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
mov eax, 4
jmp 0x100094f4
mov eax, 3
cmp eax, edi
jae 0x10009500
sub byte [ebx + eax], cl
inc eax
cmp eax, edi
jb 0x100094f8
push edi
mov edx, ebx
call fcn.100090f0
movzx eax, byte [ebp + 8]
add esp, 4
mov dword [ebp - 0x9e8], eax
add eax, 0xffffffec
cmp eax, 0xe6
ja case.0x1000952a.21
movzx eax, byte [eax + 0x1000a50c]
jmp dword [eax*4 + 0x1000a4cc]
cmp byte [ebx], 0xc1
lea eax, [ebx + 4]
jne 0x1000953e
mov cl, byte [ebx + 3]
jmp 0x10009540
mov cl, byte [eax]
cmp cl, 3
jne case.0x1000952a.21
movzx esi, word [ebx + 0x14]
xorps xmm0, xmm0
push eax
push 0x1000e9ac
push 0x10015e28
movups xmmword [0x10015e28], xmm0
call fcn.10004a30
add esp, 0xc
mov word [0x10015e24], si
jmp case.0x1000952a.21
movzx ecx, byte [ebx + 4]
mov edx, 0xffff
movzx eax, byte [ebx + 5]
shl cx, 8
or cx, ax
mov eax, 0x100121ac
movzx ecx, cx
cmp word [eax - 8], cx
jne 0x100095a3
mov word [eax - 8], dx
mov dword [eax - 6], 0x3f800000
cmp word [eax - 2], cx
jne 0x100095b3
mov word [eax - 2], dx
mov dword [eax], 0x3f800000
cmp word [eax + 4], cx
jne 0x100095c4
mov word [eax + 4], dx
mov dword [eax + 6], 0x3f800000
cmp word [eax + 0xa], cx
jne 0x100095d5
mov word [eax + 0xa], dx
mov dword [eax + 0xc], 0x3f800000
cmp word [eax + 0x10], cx
jne 0x100095e6
mov word [eax + 0x10], dx
mov dword [eax + 0x12], 0x3f800000
cmp word [eax + 0x16], cx
jne 0x100095f7
mov word [eax + 0x16], dx
mov dword [eax + 0x18], 0x3f800000
cmp word [eax + 0x1c], cx
jne 0x10009608
mov word [eax + 0x1c], dx
mov dword [eax + 0x1e], 0x3f800000
cmp word [eax + 0x22], cx
jne 0x10009619
mov word [eax + 0x22], dx
mov dword [eax + 0x24], 0x3f800000
cmp word [eax + 0x28], cx
jne 0x1000962a
mov word [eax + 0x28], dx
mov dword [eax + 0x2a], 0x3f800000
cmp word [eax + 0x2e], cx
jne 0x1000963b
mov word [eax + 0x2e], dx
mov dword [eax + 0x30], 0x3f800000
add eax, 0x3c
cmp eax, 0x10012b0c
jl 0x10009592
jmp case.0x1000952a.21
cmp byte [ebx], 0xc1
jne 0x10009658
mov al, byte [ebx + 3]
jmp 0x1000965b
mov al, byte [ebx + 4]
movzx eax, al
add eax, 0xffffffec
cmp eax, 0xc
ja case.0x1000952a.21
movzx eax, byte [eax + 0x1000a608]
jmp dword [eax*4 + 0x1000a5f4]
mov al, byte [ebx + 8]
mov byte [0x1001211c], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10012120], eax
movzx eax, byte [0x1001211c]
mov dword [0x10012124], 0xbb8
sub eax, 0
je 0x100096c8
sub eax, 1
je 0x100096c1
sub eax, 1
jne 0x100096ee
lea eax, [ebp - 0x108]
push str.Switch_is_already_in_use.
push eax
call fcn.10004a30
add esp, 8
jmp 0x100096ee
push 0x5cd
jmp 0x100096cd
push 0x5cc
mov ecx, 0xa6a5bcc
mov eax, 0x457de4
call eax
push eax
lea eax, [ebp - 0x108]
push 0x1000e9ac
push eax
call fcn.10004a30
add esp, 0xc
lea ecx, [ebp - 0x108]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100096f7
sub ecx, edx
lea eax, [ebp - 0x108]
push ecx
push eax
mov ecx, 0x10012128
call fcn.100048c0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
mov al, byte [ebx + 4]
mov esi, dword [ebx + 8]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [0x10012164], al
call edi
cmp dword [0x1001219c], 0xf
mov dword [0x10012168], eax
mov eax, 0x10012188
cmova eax, dword [0x10012188]
mov dword [0x1001216c], 0xbb8
mov dword [0x10012198], 0
mov byte [eax], 0
mov eax, 0x10012170
cmp dword [0x10012184], 0xf
mov dword [0x10012180], 0
cmova eax, dword [0x10012170]
mov byte [eax], 0
movzx eax, byte [0x10012164]
sub eax, 0
je 0x1000982d
sub eax, 1
je 0x10009802
sub eax, 1
jne 0x100098ab
push 0x5d3
mov eax, 0x457de4
mov ecx, 0xa6a5bcc
call eax
push eax
lea eax, [ebp - 0x370]
push 0x1000e9ac
push eax
call fcn.10004a30
mov eax, 0x10624dd3
add esp, 0xc
mul esi
lea eax, [ebp - 0x108]
shr edx, 6
push edx
push str._Accumulated_time:__d_seconds_
push eax
call fcn.10004a30
lea ecx, [ebp - 0x108]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100097f6
jmp 0x10009897
push 0x5d2
mov eax, 0x457de4
mov ecx, 0xa6a5bcc
call eax
push eax
lea eax, [ebp - 0x370]
push 0x1000e9ac
push eax
call fcn.10004a30
add esp, 0xc
jmp 0x100098ab
push 0x5d1
mov eax, 0x457de4
mov ecx, 0xa6a5bcc
call eax
push eax
lea eax, [ebp - 0x370]
push 0x1000e9ac
push eax
call fcn.10004a30
mov eax, 0x10624dd3
add esp, 0xc
mul esi
lea eax, [ebp - 0x108]
shr edx, 6
push edx
push str._Accumulated_time:__d_seconds_
push eax
call fcn.10004a30
add esp, 0xc
call edi
mov dword [0x10012168], eax
lea ecx, [ebp - 0x108]
mov eax, 0xee48
lea edx, [ecx + 1]
sub eax, esi
mov dword [0x1001216c], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009890
sub ecx, edx
lea eax, [ebp - 0x108]
push ecx
push eax
mov ecx, 0x10012188
call fcn.100048c0
lea ecx, [ebp - 0x370]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100098b4
sub ecx, edx
lea eax, [ebp - 0x370]
push ecx
push eax
mov ecx, 0x10012170
call fcn.100048c0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
mov al, byte [ebx + 4]
mov byte [0x10012140], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10012144], eax
movzx eax, byte [0x10012140]
mov dword [0x10012148], 0xbb8
sub eax, 0
je 0x1000991a
sub eax, 1
jne 0x10009940
push 0x5d6
jmp 0x1000991f
push 0x5d5
mov ecx, 0xa6a5bcc
mov eax, 0x457de4
call eax
push eax
lea eax, [ebp - 0x108]
push 0x1000e9ac
push eax
call fcn.10004a30
add esp, 0xc
lea ecx, [ebp - 0x108]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009950
sub ecx, edx
lea eax, [ebp - 0x108]
push ecx
push eax
mov ecx, 0x1001214c
call fcn.100048c0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
mov al, byte [ebx + 6]
cmp al, 2
jae case.0x10009fb0.180
movzx eax, al
lea ecx, [eax + eax*2]
mov ax, word [ebx + 4]
mov word [ecx*8 + 0x10015e40], ax
movzx eax, byte [ebx + 6]
lea ecx, [eax + eax*2]
movzx eax, byte [ebx + 7]
mov byte [ecx*8 + 0x10015e42], al
movzx eax, byte [ebx + 6]
lea ecx, [eax + eax*2]
movzx eax, byte [ebx + 8]
mov byte [ecx*8 + 0x10015e43], al
movzx eax, byte [ebx + 6]
lea ecx, [eax + eax*2]
cmp byte [ecx*8 + 0x10015e42], 0
jne 0x10009a12
mov dword [ecx*8 + 0x10015e40], 0xffff
xorps xmm0, xmm0
movq qword [ecx*8 + 0x10015e44], xmm0
mov byte [ecx*8 + 0x10015e4c], 0
movq qword [ecx*8 + 0x10015e4d], xmm0
mov word [ecx*8 + 0x10015e55], 0
mov byte [ecx*8 + 0x10015e57], 0
jmp case.0x10009fb0.180
movq xmm0, qword [ebx + 0x12]
movq qword [ecx*8 + 0x10015e4d], xmm0
mov ax, word [ebx + 0x1a]
mov word [ecx*8 + 0x10015e55], ax
movzx eax, byte [ebx + 0x1c]
mov byte [ecx*8 + 0x10015e57], al
movzx eax, byte [ebx + 6]
movq xmm0, qword [ebx + 9]
lea ecx, [eax + eax*2]
movq qword [ecx*8 + 0x10015e44], xmm0
movzx eax, byte [ebx + 0x11]
mov byte [ecx*8 + 0x10015e4c], al
jmp case.0x10009fb0.180
cmp byte [0x10012b09], 0
je case.0x1000952a.21
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 9
add ecx, eax
movzx eax, cx
cmp eax, dword [0x10015e20]
je case.0x1000952a.21
mov al, byte [ebx + 5]
cmp al, 3
je case.0x10009fb0.180
cmp al, 0x11
je case.0x10009fb0.180
jmp case.0x1000952a.21
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x10015e20], ecx
jne case.0x1000952a.21
mov dword [0x10015e1c], 0
jmp case.0x1000952a.21
cmp byte [ebx], 0xc1
jne 0x10009ace
mov al, byte [ebx + 3]
jmp 0x10009ad1
mov al, byte [ebx + 4]
movzx eax, al
sub eax, 0
je 0x10009b5f
sub eax, 1
jne case.0x1000952a.21
cmp dword [0x10013388], 1
je case.0x1000952a.21
cmp byte [ebx + 4], 1
jne 0x10009b49
xor edx, edx
mov ecx, 3
cmp dword [0x10013384], ecx
cmove edx, ecx
xor ecx, ecx
cmp dword [0x10013384], 3
mov dword [0x10013384], edx
sete cl
mov dword [0x10013388], ecx
test ecx, ecx
jne case.0x1000952a.21
mov byte [0x1001338d], 0
push 1
push edi
push ebx
push dword [ebp - 0x9e8]
mov eax, 0xd5758d
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
mov dword [0x10013388], 2
mov dword [0x10013384], 0
jmp case.0x1000952a.21
cmp dword [0x10013388], 1
mov eax, dword [0x10013384]
jne 0x10009b74
cmp eax, 3
jne 0x10009b8a
jmp 0x10009b7b
cmp eax, 3
je 0x10009b7b
xor eax, eax
mov dword [0x10013388], 2
mov dword [0x10013384], eax
mov eax, dword [ebx + 0x18]
mov dword [0x10013374], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x10013378], eax
mov eax, dword [ebx + 0x20]
mov dword [0x1001337c], eax
mov eax, dword [ebx + 0x24]
mov dword [0x10013380], eax
jmp case.0x1000952a.21
cmp byte [ebx], 0xc1
jne 0x10009bb9
mov al, byte [ebx + 3]
jmp 0x10009bbc
mov al, byte [ebx + 4]
cmp al, 0x51
jne case.0x1000952a.21
cmp dword [0x10013384], 0
jne case.0x1000952a.21
cmp byte [ebx + 0xc], 0
sete byte [0x10013370]
jmp case.0x1000952a.21
cmp byte [ebx], 0xc1
jne 0x10009beb
mov al, byte [ebx + 3]
jmp 0x10009bee
mov al, byte [ebx + 4]
movzx eax, al
sub eax, 0
je 0x10009cad
sub eax, 1
je 0x10009c18
sub eax, 1
jne case.0x1000952a.21
cmp byte [ebx + 4], al
jne 0x10009b49
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [0x10013384], 1
mov al, byte [ebx + 4]
jne case.0x1000952a.21
cmp byte [0x1001338d], 0
je case.0x1000952a.21
cmp al, 1
jne 0x10009c6c
mov edx, 4
mov dword [ebp - 0x9e0], 0xf304c1
lea ecx, [ebp - 0x9e0]
call fcn.1000a760
mov dword [0x10013388], 1
mov dword [0x10013384], 2
jmp case.0x1000952a.21
cmp al, 3
jne 0x10009c89
mov dword [0x10013388], 1
mov dword [0x10013384], 1
jmp 0x10009b1d
mov dword [0x10013388], 2
mov dword [0x10013384], 0
mov ecx, 0xa6a1768
call dword [0x100133a4]
jmp case.0x1000952a.21
movzx ecx, byte [ebx + 6]
movzx eax, byte [ebx + 0xb]
shl ecx, 8
or ecx, eax
cmp dword [0x10013388], 1
mov dword [0x10015e20], ecx
jne case.0x1000952a.21
cmp dword [0x10013384], 0
jne case.0x1000952a.21
mov dword [0x10013388], 1
mov dword [0x10013384], 1
jmp case.0x1000952a.21
mov eax, dword [ebx + 3]
lea ecx, [ebp - 0x9ec]
mov edx, 8
mov dword [ebp - 0x9ec], 0x1fa08c1
mov dword [ebp - 0x9e8], eax
call fcn.1000a760
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
cmp byte [ebx], 0xc1
jne 0x10009d36
mov al, byte [ebx + 3]
jmp 0x10009d39
mov al, byte [ebx + 4]
movzx eax, al
add eax, 0xfffffff4
cmp eax, 0xc
ja case.0x1000952a.21
movzx eax, byte [eax + 0x1000a62c]
jmp dword [eax*4 + 0x1000a618]
movzx eax, word [ebx + 4]
mov esi, 0x1000e868
mov word [0x100120f8], ax
movzx eax, word [ebx + 6]
mov word [0x100120fa], ax
movzx eax, word [ebx + 8]
mov word [0x100120fc], ax
movzx eax, word [ebx + 4]
mov edx, eax
cmp eax, 0xa
jae 0x10009d8b
mov ecx, str.00_u
jmp 0x10009d98
cmp eax, 0x64
mov ecx, esi
mov eax, 0x1000e86c
cmovae ecx, eax
push edx
push ecx
lea eax, [ebp - 0x108]
push eax
call fcn.10004a30
movzx eax, word [ebx + 6]
add esp, 0xc
mov edx, eax
cmp eax, 0xa
jae 0x10009dbb
mov ecx, str.00_u
jmp 0x10009dc8
cmp eax, 0x64
mov ecx, esi
mov eax, 0x1000e86c
cmovae ecx, eax
push edx
push ecx
lea eax, [ebp - 0x370]
push eax
call fcn.10004a30
movzx eax, word [ebx + 8]
add esp, 0xc
mov ecx, eax
cmp eax, 0xa
jae 0x10009deb
mov esi, str.00_u
jmp 0x10009df6
cmp eax, 0x64
mov eax, 0x1000e86c
cmovae esi, eax
push ecx
lea eax, [ebp - 0x5d8]
push esi
push eax
call fcn.10004a30
add esp, 0xc
lea eax, [ebp - 0x5d8]
push eax
lea eax, [ebp - 0x370]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x9d8]
push str.Data_InGameShopScript__s._s._s_
push eax
call fcn.10004a30
lea ecx, [ebp - 0x9d8]
add esp, 0x14
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009e40
sub ecx, edx
lea eax, [ebp - 0x9d8]
push ecx
push eax
mov ecx, 0x10012100
call fcn.100048c0
jmp case.0x1000952a.21
push ebx
call fcn.10001b30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
push ebx
call fcn.10002120
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
push ebx
call fcn.10002b30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x10015e20], ecx
jne case.0x1000952a.21
mov eax, dword [ebx + 0xd]
mov dword [0x10015e1c], eax
mov eax, dword [ebx + 0x11]
mov dword [0x10015e18], eax
jmp case.0x1000952a.21
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x10015e20], ecx
jne case.0x1000952a.21
mov eax, dword [ebx + 0x11]
mov dword [0x10015e1c], eax
mov eax, dword [ebx + 0x15]
mov dword [0x10015e18], eax
jmp case.0x1000952a.21
mov al, byte [ebx + 3]
cmp al, 0xfe
jne 0x10009f38
mov eax, dword [ebx + 9]
mov dword [0x10015e0c], eax
mov eax, dword [ebx + 0xd]
mov dword [0x10015e08], eax
jmp case.0x1000952a.21
cmp al, 0xff
jne case.0x1000952a.21
mov eax, dword [ebx + 9]
mov dword [0x10015e1c], eax
mov eax, dword [ebx + 0xd]
mov dword [0x10015e18], eax
jmp case.0x1000952a.21
mov al, byte [ebx + 3]
cmp al, 0xfe
jne 0x10009f71
mov eax, dword [ebx + 8]
mov dword [0x10015e04], eax
mov eax, dword [ebx + 0xc]
mov dword [0x10015e00], eax
jmp case.0x1000952a.21
cmp al, 0xff
jne case.0x1000952a.21
mov eax, dword [ebx + 8]
mov dword [0x10015e14], eax
mov eax, dword [ebx + 0xc]
mov dword [0x10015e10], eax
jmp case.0x1000952a.21
cmp byte [ebx], 0xc1
jne 0x10009f98
mov al, byte [ebx + 3]
jmp 0x10009f9b
mov al, byte [ebx + 4]
movzx eax, al
cmp eax, 0xe2
ja case.0x1000952a.21
movzx eax, byte [eax + 0x1000a678]
jmp dword [eax*4 + 0x1000a63c]
cmp dword [0x10013384], 2
jne 0x1000a044
push 0xffffffffffffffff
push 3
lea eax, [ebp - 0x9e0]
mov word [ebp - 0x9e0], 0x3c1
push eax
push 0x43
mov byte [ebp - 0x9de], 0x43
call fcn.10009490
mov ax, word [0x1001336c]
lea ecx, [ebp - 0x9f0]
movq xmm0, qword [0x10013364]
add esp, 0x10
mov word [ebp - 0x9e4], ax
mov edx, 0xf
mov al, byte [0x1001336f]
mov dword [ebp - 0x9f0], 0x3f30fc1
movq qword [ebp - 0x9ec], xmm0
mov byte [ebp - 0x9e2], al
call fcn.1000a760
mov dword [0x10013388], 1
mov dword [0x10013384], 3
jmp case.0x10009fb0.180
cmp dword [0x10013388], 1
je case.0x10009fb0.180
jmp case.0x1000952a.21
cmp dword [0x10013384], 3
mov eax, dword [ebx + 0x4c]
mov dword [0x10015e1c], eax
mov eax, dword [ebx + 0x54]
mov dword [0x10015e14], eax
mov eax, dword [ebx + 0x64]
mov dword [0x10015e18], eax
mov eax, dword [ebx + 0x5c]
mov dword [0x10015e10], eax
mov eax, dword [ebx + 0x50]
mov dword [0x10015e0c], eax
mov eax, dword [ebx + 0x58]
mov dword [0x10015e04], eax
mov eax, dword [ebx + 0x68]
mov dword [0x10015e08], eax
mov eax, dword [ebx + 0x60]
mov dword [0x10015e00], eax
jne 0x1000a0c9
cmp byte [0x10013370], 0
je 0x1000a0c9
mov edx, 5
mov dword [ebp - 0x9e0], 0x51bf05c1
lea ecx, [ebp - 0x9e0]
mov byte [ebp - 0x9dc], 0
call fcn.1000a760
mov dword [0x10013388], 0
mov dword [0x10013384], 0
jmp 0x10009b1d
mov eax, dword [ebx + 0x20]
mov dword [0x10015e1c], eax
mov eax, dword [ebx + 0x24]
mov dword [0x10015e14], eax
mov eax, dword [ebx + 0x2c]
mov dword [0x10015e18], eax
mov eax, dword [ebx + 0x28]
mov dword [0x10015e10], eax
jmp case.0x1000952a.21
mov eax, dword [ebx + 0x18]
mov dword [0x10015e0c], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x10015e04], eax
mov eax, dword [ebx + 0x24]
mov dword [0x10015e08], eax
mov eax, dword [ebx + 0x20]
mov dword [0x10015e00], eax
jmp case.0x1000952a.21
mov eax, dword [ebx + 0x20]
mov dword [0x10015e0c], eax
mov eax, dword [ebx + 0x24]
mov dword [0x10015e04], eax
mov eax, dword [ebx + 0x2c]
mov dword [0x10015e08], eax
mov eax, dword [ebx + 0x28]
mov dword [0x10015e00], eax
jmp case.0x1000952a.21
mov eax, dword [ebx + 0x14]
mov dword [0x10015e0c], eax
mov eax, dword [ebx + 0x18]
mov dword [0x10015e04], eax
mov eax, dword [ebx + 0x20]
mov dword [0x10015e08], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x10015e00], eax
jmp case.0x1000952a.21
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x10
push 0x1602178
call esi
movups xmm0, xmmword [ebx + 4]
mov eax, 0x1602178
movups xmmword [eax], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x10
push 0x1602178
call esi
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x20
push 0x160218c
call esi
movups xmm0, xmmword [ebx + 0x14]
mov eax, 0x160218c
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebx + 0x24]
movups xmmword [eax + 0x10], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x20
push 0x160218c
call esi
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x10
push 0x16021a8
call esi
movups xmm0, xmmword [ebx + 4]
mov eax, 0x16021a8
movups xmmword [eax], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x10
push 0x16021a8
call esi
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x20
push 0x16021c4
call esi
movups xmm0, xmmword [ebx + 0x14]
mov eax, 0x16021c4
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebx + 0x24]
movups xmmword [eax + 0x10], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x20
push 0x16021c4
call esi
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x10
push 0x1602204
call esi
movups xmm0, xmmword [ebx + 0x54]
mov eax, 0x1602204
movups xmmword [eax], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x10
push 0x1602204
call esi
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x20
push 0x1602218
call esi
movups xmm0, xmmword [ebx + 0x64]
mov eax, 0x1602218
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebx + 0x74]
movups xmmword [eax + 0x10], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x20
push 0x1602218
call esi
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x10
push 0x1602234
call esi
movups xmm0, xmmword [ebx + 0x54]
mov eax, 0x1602234
movups xmmword [eax], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x10
push 0x1602234
call esi
lea eax, [ebp - 0x9e0]
push eax
push 0x40
push 0x20
push 0x1602250
call esi
movups xmm0, xmmword [ebx + 0x64]
mov eax, 0x1602250
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebx + 0x74]
movups xmmword [eax + 0x10], xmm0
lea eax, [ebp - 0x9e0]
push eax
push dword [ebp - 0x9e0]
push 0x20
push 0x1602250
call esi
jmp case.0x1000952a.21
mov eax, dword [ebp - 0x9e0]
lea ecx, [ebp - 0x270]
mov bl, byte [ebx + 4]
add eax, 5
push eax
mov esi, 0x406fc0
call esi
push 0x1000ed70
lea ecx, [ebp - 0x4d8]
call esi
mov ecx, dword [0xa5d0cc4]
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x4d8]
push eax
movzx eax, bl
push eax
mov eax, 0xc3eed8
call eax
mov esi, 0x407b10
lea ecx, [ebp - 0x270]
call esi
lea ecx, [ebp - 0x4d8]
call esi
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
push ebx
call fcn.10005d20
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 4]
mov dword [0x10015e38], eax
mov eax, dword [ebx + 8]
mov dword [0x10015e3c], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
movzx esi, byte [ebx + 6]
lea edx, [ebx + 7]
xor eax, eax
mov ecx, 0x78
mov edi, 0x10013b88
rep stosd dword es:[edi], eax
mov al, byte [ebx + 5]
mov byte [0x10013b84], al
test esi, esi
je case.0x10009fb0.180
nop dword [eax]
movzx ecx, byte [edx]
lea edx, [edx + 5]
mov eax, dword [edx - 4]
mov dword [ecx*4 + 0x10013b88], eax
sub esi, 1
jne 0x1000a420
jmp case.0x10009fb0.180
lea eax, [ebx + 0x69]
mov dword [ebp - 0x9e8], eax
lea eax, [ebx + 5]
mov dword [ebp - 0x9e0], eax
push 0
push 0
push 0
mov edx, dword [ebp - 0x9e0]
push edx
mov edx, dword [ebp - 0x9e8]
push edx
push 0
push 0
call dword [0x1000ed64]
mov ecx, eax
call dword [0x1000ed6c]
mov ecx, eax
call dword [0x1000ed68]
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 4], 1
mov ecx, dword [ebp - 4]
sete byte [0x100120cc]
mov eax, dword [ebx + 5]
mov dword [0x100120d0], eax
cmp byte [ebx + 9], 1
pop edi
sete byte [0x100120d4]
mov eax, dword [ebx + 0xa]
pop esi
mov dword [0x100120d8], eax
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.1000b9ff
mov esp, ebp
pop ebp
ret