Function at 0x100afe30
Capabilities:
Check for software breakpoints
Check for time delay via gettickcount
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov eax, dword [0x100fa040]
xor eax, ebp
mov dword [ebp - 4], eax
movzx eax, byte [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x7c], ebx
push esi
push edi
cmp eax, 0xf6
ja case.default.0x100b3147
movzx eax, byte [eax + 0x100b33d0]
mov edi, 1
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp dword [eax*4 + 0x100b3354]
call fcn.10014680
test al, al
je case.default.0x100b3147
mov ecx, ebx
call fcn.100b3700
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
call fcn.10014680
test al, al
je case.default.0x100b3147
mov ecx, ebx
call fcn.100b4160
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
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 [0x107e7ce0], ecx
jne 0x100afeed
mov eax, dword [ebx + 0xc]
mov dword [0x107e7ba0], eax
mov eax, dword [ebx + 0x10]
mov dword [0x107e7ba8], eax
mov eax, dword [ebx + 0x18]
mov dl, byte [ebx + 7]
mov ecx, dword [ebx + 0x14]
mov dword [0x107e7cd0], eax
mov eax, dword [0x107e7cbc]
mov dword [0x107e7cd4], ecx
test dl, 0x10
je 0x100aff22
cmp eax, 3
jae 0x100aff22
mov dword [eax*4 + 0x107e7cc0], ecx
inc eax
mov dword [0x107e7cbc], eax
mov dword [0x107e7cb8], eax
test dl, 0x20
je case.default.0x100b3147
cmp eax, 4
jae case.default.0x100b3147
mov dword [eax*4 + 0x107e7cc0], ecx
inc eax
mov dword [0x107e7cbc], eax
mov dword [0x107e7cb8], eax
jmp case.default.0x100b3147
cmp byte [ebx + 3], 0
mov dword [ebp - 0x88], 0
jbe case.0x100b3147.244
lea edx, [ebx + 4]
mov ecx, 0x861110
mov dword [ebp - 0x70], edx
mov edi, 0x402bc0
nop
movzx esi, byte [edx]
movzx eax, byte [edx + 1]
shl esi, 8
or esi, eax
mov dword [ebp - 0x80], esi
call ecx
mov ecx, eax
mov eax, 0x861420
call eax
mov ecx, eax
mov eax, 0x668890
call eax
push eax
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
test eax, eax
je 0x100affbd
movzx eax, word [eax + 0x7e]
cmp eax, esi
jne 0x100affbd
push 0xf
mov eax, 0x861110
call eax
mov ecx, eax
mov eax, 0x85f9a0
call eax
push esi
mov eax, 0x57d9a0
call eax
add esp, 4
push eax
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
mov edi, eax
mov dword [ebp - 0x74], edi
test edi, edi
je 0x100b0067
cmp dword [0x8793710], 0
je 0x100b0018
movzx eax, word [edi + 0x84]
mov ecx, 0xda
cmp ax, cx
jne 0x100b0002
mov ecx, 0x8793710
jmp 0x100b0011
mov ecx, 0xd9
cmp ax, cx
jne 0x100b0018
mov ecx, 0x8793726
mov eax, 0x668770
call eax
lea ecx, [edi + 0x4ec]
mov eax, 0x4c88b0
call eax
xor esi, esi
mov dword [ebp - 0x64], eax
test eax, eax
jle 0x100b0064
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x64]
add eax, 0x308
mov dword [ebp - 0x74], eax
nop dword [eax]
push esi
lea ecx, [edi + 0x4ec]
mov eax, 0x4c88d0
call eax
push dword [ebp - 0x74]
push eax
mov eax, 0x6684b0
call eax
inc esi
add esp, 8
cmp esi, ebx
jl 0x100b0040
mov ebx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x80]
push esi
mov eax, 0x57d760
call eax
push esi
mov eax, 0x6685d0
call eax
add esp, 8
test eax, eax
je 0x100b0089
push eax
mov eax, 0x6685b0
call eax
add esp, 4
mov ecx, dword [ebp - 0x88]
mov edi, 0x402bc0
mov edx, dword [ebp - 0x70]
inc ecx
movzx eax, byte [ebx + 3]
add edx, 2
mov dword [ebp - 0x88], ecx
cmp ecx, eax
mov dword [ebp - 0x70], edx
mov ecx, 0x861110
jl 0x100aff70
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0xc]
mov dword [0x107e7cd4], eax
jmp case.default.0x100b3147
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x107e7ce0], ecx
jne case.default.0x100b3147
mov dword [0x107e7ba0], 0
jmp case.default.0x100b3147
cmp byte [ebx + 4], 0
mov dword [ebp - 0x70], 0
jbe case.0x100b3147.244
movss xmm1, dword [0x100f14a4]
lea esi, [ebx + 8]
movsd xmm2, qword [0x100f19a0]
mov edx, 0x5f7b60
nop
movzx eax, byte [esi - 1]
movzx ecx, byte [esi - 3]
shl ecx, 8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [esi]
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x6c], xmm0
movd xmm0, eax
movzx eax, byte [esi - 2]
cvtdq2ps xmm0, xmm0
or ecx, eax
mov edi, ecx
and edi, 0x7fff
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x68], xmm0
cmp edi, 0x3e8
jae 0x100b01f3
shr ecx, 0xf
lea eax, [esi + 1]
push ecx
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea eax, [edi + 0x273c0]
imul eax, eax, 0x350
push eax
call edx
movss xmm1, dword [0x100f14a4]
add esp, 0x10
cmp dword [0x102c7350], 1
mov edx, 0x5f7b60
movsd xmm2, qword [0x100f19a0]
jne 0x100b01f3
lea ecx, [edi + edi*4]
mov byte [ecx*4 + 0x10699450], 1
movq xmm0, qword [esi + 1]
movq qword [ecx*4 + 0x10699451], xmm0
mov eax, dword [esi + 9]
mov dword [ecx*4 + 0x10699459], eax
mov eax, dword [esi + 0xd]
mov dword [ecx*4 + 0x10699460], eax
mov ecx, dword [ebp - 0x70]
add esi, 0x14
movzx eax, byte [ebx + 4]
inc ecx
mov dword [ebp - 0x70], ecx
cmp ecx, eax
jl 0x100b0130
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
cmp dword [0x102c7350], edi
jne case.default.0x100b3147
xor esi, esi
cmp byte [ebx + 4], 0
jbe case.default.0x100b3147
lea edx, [ebx + 5]
nop word [eax + eax]
movzx ecx, byte [edx]
lea edx, [edx + 2]
movzx eax, byte [edx - 1]
inc esi
shl ecx, 8
or ecx, eax
lea eax, [ecx + ecx*4]
mov byte [eax*4 + 0x10699450], 0
mov dword [eax*4 + 0x10699451], 0xffffffff
mov dword [eax*4 + 0x10699455], 0xffffffff
mov dword [eax*4 + 0x10699459], 0xffffffff
mov dword [eax*4 + 0x10699460], 0
movzx eax, byte [ebx + 4]
cmp esi, eax
jl 0x100b0240
jmp case.default.0x100b3147
cmp byte [ebx + 3], 0xfe
jne 0x100b02aa
mov eax, dword [ebx + 0xc]
mov dword [0x107e7b9c], eax
mov eax, dword [ebx + 0x10]
mov dword [0x107e7ba4], eax
cmp byte [ebx + 3], 0xff
jne case.default.0x100b3147
cmp dword [0x107e7ba0], 0
je 0x100b02c5
mov eax, dword [ebx + 0xc]
mov dword [0x107e7ba0], eax
mov eax, dword [ebx + 0x10]
mov dword [0x107e7ba8], eax
jmp case.default.0x100b3147
cmp byte [ebx + 3], 0xfe
jne 0x100b02e8
mov eax, dword [ebx + 8]
mov dword [0x107e7bcc], eax
mov eax, dword [ebx + 0xc]
mov dword [0x107e7bc8], eax
cmp byte [ebx + 3], 0xff
jne case.default.0x100b3147
mov eax, dword [ebx + 8]
mov dword [0x107e7b98], eax
mov eax, dword [ebx + 0xc]
mov dword [0x107e7bbc], eax
jmp case.default.0x100b3147
mov al, byte [ebx + 3]
test al, al
je 0x100b031e
cmp al, 3
je 0x100b031e
cmp al, 6
je 0x100b031e
cmp al, 0x11
jne case.default.0x100b3147
mov eax, dword [ebx + 8]
mov dword [0x107e7cdc], eax
mov eax, dword [ebx + 0xc]
mov dword [0x107e7cd8], eax
mov eax, dword [ebx + 0x10]
mov dword [0x107e7ca4], eax
mov eax, dword [ebx + 0x14]
mov dword [0x107e7ca0], eax
mov eax, dword [ebx + 0x18]
mov dword [0x107e7c9c], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x107e7bb8], eax
mov eax, dword [ebx + 0x20]
mov dword [0x107e7bb0], eax
jmp case.default.0x100b3147
cmp dword [0x102c736c], 0
je case.default.0x100b3147
cmp byte [ebx + 8], 0
jne 0x100b03cf
mov al, byte [ebx + 0x10]
test al, al
je 0x100b03cf
xor esi, esi
mov ecx, 0x108381d8
nop dword [eax]
mov edx, dword [ecx]
test edx, edx
je 0x100b03a1
movzx eax, al
cmp edx, eax
je 0x100b03a7
mov al, byte [ebx + 0x10]
add ecx, 0xc
inc esi
cmp ecx, 0x10838358
jl 0x100b0380
jmp case.default.0x100b3147
inc dword [0x108381cc]
movzx eax, byte [ebx + 0x10]
lea ecx, [esi + esi*2]
mov dword [ecx*4 + 0x108381d8], eax
mov eax, dword [ebx + 0xc]
dec eax
mov dword [ecx*4 + 0x108381dc], eax
mov eax, dword [ebx + 0xc]
mov dword [ecx*4 + 0x108381e0], eax
jmp case.default.0x100b3147
movzx edx, byte [ebx + 0x10]
xor ecx, ecx
mov eax, 0x108381d8
nop word [eax + eax]
cmp dword [eax], edx
je 0x100b03f4
add eax, 0xc
inc ecx
cmp eax, 0x10838358
jl 0x100b03e0
jmp case.default.0x100b3147
lea eax, [ecx + ecx*2]
mov dword [eax*4 + 0x108381d8], 0
mov dword [eax*4 + 0x108381dc], 0
mov dword [eax*4 + 0x108381e0], 0
dec dword [0x108381cc]
jmp case.default.0x100b3147
push ebx
call fcn.100a4be0
jmp case.default.0x100b3147
cmp byte [ebx + 3], 1
je 0x100b043e
xorps xmm0, xmm0
movups xmmword [0x10887188], xmm0
mov byte [0x102a893d], 0
mov dword [0xe8cb3c], 0
jmp case.default.0x100b3147
mov eax, dword [ebx + 4]
mov dword [0x10887198], eax
mov eax, dword [ebx + 8]
mov dword [0x1088719c], eax
mov eax, dword [ebx + 0xc]
mov dword [0x108871a0], eax
mov eax, dword [ebx + 0x10]
mov dword [0x108871a4], eax
jmp case.default.0x100b3147
xorps xmm0, xmm0
movups xmmword [0x10887188], xmm0
movups xmmword [0x10887198], xmm0
movups xmmword [0x108871a8], xmm0
jmp case.default.0x100b3147
cmp byte [ebx], 0xc1
jne 0x100b04a0
mov al, byte [ebx + 3]
jmp 0x100b04a3
mov al, byte [ebx + 4]
test al, al
je 0x100b04ba
cmp al, 3
jne case.default.0x100b3147
push ebx
call fcn.10066fe0
jmp case.default.0x100b3147
push ebx
call fcn.10066da0
jmp case.default.0x100b3147
lea eax, [ebx + 3]
mov word [ebp - 0x7e], 0
mov byte [ebp - 0x76], 0
xorps xmm0, xmm0
movq qword [ebp - 0x68], xmm0
test eax, eax
je 0x100b04f1
movq xmm0, qword [eax]
mov ax, word [eax + 8]
movq qword [ebp - 0x68], xmm0
mov word [ebp - 0x7e], ax
jmp 0x100b0501
call fcn.100cad3d
mov dword [eax], 0x16
call fcn.100c9d17
lea esi, [ebx + 0xe]
test esi, esi
je 0x100b0515
mov ecx, 0x16
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x100b0535
push 0x59
lea eax, [ebp - 0x60]
push 0
push eax
call fcn.100c2c10
add esp, 0xc
call fcn.100cad3d
mov dword [eax], 0x16
call fcn.100c9d17
lea edi, [ebp - 0x60]
lea ecx, [edi + 1]
nop dword [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x100b0540
sub edi, ecx
cmp edi, 0x2d
jle 0x100b05a9
mov ecx, 0x2b
lea edx, [ebp - 0x38]
mov eax, 0x28
sub ecx, edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], ecx
lea esi, [ebp - 0x60]
add esi, eax
mov al, byte [esi]
mov byte [ebp - 0x75], al
movsx eax, al
push eax
call fcn.100cade0
add esp, 4
test eax, eax
jne 0x100b0583
cmp byte [ebp - 0x75], 0x20
jne 0x100b059e
mov eax, dword [ebp - 0x74]
add eax, esi
mov word [esi], 0x2e2e
mov byte [esi + 2], 0x2e
cmp eax, 0x59
jae 0x100b334d
mov byte [esi + 3], 0
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp eax, edi
jl 0x100b0563
mov eax, dword [0x10246760]
cmp eax, 0xe
jle 0x100b05ba
xor eax, eax
mov dword [0x10246760], eax
mov cx, word [ebp - 0x7e]
lea esi, [ebp - 0x60]
movq xmm0, qword [ebp - 0x68]
imul eax, eax, 0xcf
add eax, 0x10246768
movq qword [eax], xmm0
mov word [eax + 8], cx
mov cl, byte [ebp - 0x76]
mov byte [eax + 0xa], cl
mov ecx, 0x16
imul edi, dword [0x10246760], 0xcf
add edi, 0x10246773
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x1a
movsb byte es:[edi], byte [esi]
imul edi, dword [0x10246760], 0xcf
lea esi, [ebx + 0x67]
mov ebx, 0x10247394
add edi, 0x102467cc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [0x10246760]
inc eax
mov dword [0x10246760], eax
dec eax
mov dword [ebp - 0x80], eax
nop dword [eax + eax]
imul edx, eax, 0xcf
mov ecx, 0x16
mov edi, ebx
movq xmm0, qword [edx + 0x10246768]
lea esi, [edx + 0x10246773]
movq qword [ebx - 0xb], xmm0
mov ax, word [edx + 0x10246770]
mov word [ebx - 3], ax
mov al, byte [edx + 0x10246772]
mov byte [ebx - 1], al
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x1a
mov eax, dword [ebp - 0x80]
movsb byte es:[edi], byte [esi]
lea esi, [edx + 0x102467cc]
lea edi, [ebx + 0x59]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
test eax, eax
jg 0x100b0688
mov eax, 0xe
jmp 0x100b0689
dec eax
add ebx, 0xcf
mov dword [ebp - 0x80], eax
cmp ebx, 0x10247ee6
jle 0x100b0630
mov ebx, dword [ebp - 0x7c]
push dword [ebp + 0x14]
movzx eax, byte [ebp + 8]
push dword [ebp + 0x10]
push ebx
push eax
mov eax, 0x663b20
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 4]
mov dword [0x1050c99c], eax
mov eax, dword [ebx + 8]
mov dword [0x1050c998], eax
mov eax, dword [ebx + 0xc]
mov dword [0x1050c994], eax
jmp case.default.0x100b3147
mov ecx, ebx
call fcn.100b5430
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
xor esi, esi
mov edi, 0x402bc0
mov ebx, 0x96a4c0
push esi
call edi
mov ecx, eax
call ebx
inc esi
mov byte [eax + 0x17], 0
cmp esi, 0x190
jl 0x100b0704
jmp 0x100b069a
mov ecx, ebx
call fcn.100b4500
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
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 [0x107e7ce0], ecx
jne case.default.0x100b3147
mov eax, dword [ebx + 8]
mov dword [0x107e7cd8], eax
jmp case.default.0x100b3147
cmp byte [ebx], 0xc1
jne 0x100b076a
mov al, byte [ebx + 3]
jmp 0x100b076d
mov al, byte [ebx + 4]
movzx eax, al
sub eax, 0
je 0x100b084f
sub eax, 1
jne case.default.0x100b3147
cmp dword [0x102c736c], eax
je 0x100b07be
mov dword [0x108381cc], eax
mov eax, 0x108381dc
nop dword [eax]
nop dword [eax + eax]
mov dword [eax - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0
add eax, 0xc
cmp eax, 0x1083835c
jl 0x100b07a0
mov eax, dword [0x107e7d00]
cmp eax, 1
je case.default.0x100b3147
cmp byte [ebx + 4], 1
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x100b0840
mov ecx, dword [0x107e7cfc]
xor edi, edi
cmp ecx, 3
cmove edi, eax
xor eax, eax
cmp ecx, 3
mov dword [0x107e7d00], edi
cmove eax, ecx
mov dword [0x107e7cfc], eax
call esi
mov dword [0x107e7cf8], eax
call esi
xor ecx, ecx
mov dword [0x107e7cf4], eax
mov eax, dword [0x107e7ce8]
test edi, edi
mov dword [0x107e7cf0], 0
cmove eax, ecx
mov dword [0x107e7cec], 0
mov dword [0x107e7ce8], eax
test edi, edi
mov eax, dword [0x107e7ce4]
cmove eax, ecx
mov dword [0x107e7ce4], eax
jmp case.default.0x100b3147
mov dword [0x107e7cfc], 0
jmp 0x100b08e3
cmp dword [0x102c736c], 0
je 0x100b088e
mov dword [0x108381cc], 0
mov eax, 0x108381dc
nop word [eax + eax]
mov dword [eax - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0
add eax, 0xc
cmp eax, 0x1083835c
jl 0x100b0870
mov dword [0x8793714], edi
movzx esi, word [ebx + 0x14]
cmp dword [0x107e7d00], edi
jne 0x100b08ad
cmp dword [0x107e7cfc], 3
jne case.default.0x100b3147
lea eax, [ebx + 4]
push eax
push 0x10
push 0x107e7d04
call fcn.100c9e5b
xor ecx, ecx
mov word [0x1069ebdc], si
add esp, 0xc
cmp dword [0x107e7cfc], 3
cmove ecx, dword [0x107e7cfc]
mov dword [0x107e7cfc], ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x107e7d00], 2
call esi
mov dword [0x107e7cf8], eax
call esi
mov dword [0x107e7cf4], eax
mov dword [0x107e7cf0], 0
mov dword [0x107e7cec], 0
jmp case.default.0x100b3147
cmp byte [ebx], 0xc1
jne 0x100b091e
mov al, byte [ebx + 3]
jmp 0x100b0921
mov al, byte [ebx + 4]
cmp al, 0x14
je 0x100b0aad
cmp al, 0x20
jne case.default.0x100b3147
movzx ecx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
mov eax, 0x57d9a0
push ecx
call eax
add esp, 4
push eax
mov eax, 0x402bc0
call eax
mov edx, 0x96a4c0
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je case.0x100b3147.244
mov ecx, dword [0x8793710]
test ecx, ecx
je 0x100b09f9
mov eax, dword [ebx + 8]
mov esi, 0xda
mov edx, dword [ebx + 0xc]
cmp word [edi + 0x84], si
jne 0x100b09bf
mov dword [ecx + 2], eax
mov dword [ecx + 6], edx
movq xmm0, qword [ebx + 0x10]
movq qword [ecx + 0xb], xmm0
mov ax, word [ebx + 0x18]
mov word [ecx + 0x13], ax
mov al, byte [ebx + 6]
mov byte [ecx], al
mov al, byte [ebx + 7]
mov byte [ecx + 1], al
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
movq xmm0, qword [ebx + 0x10]
movq qword [ecx + 0x21], xmm0
mov ax, word [ebx + 0x18]
mov word [ecx + 0x29], ax
mov al, byte [ebx + 6]
mov byte [ecx + 0x16], al
mov al, byte [ebx + 7]
mov byte [ecx + 0x17], al
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
push 0x2c
mov eax, 0x9cdb52
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x100b0a1e
push 0x668cc0
push 2
push 0x16
push esi
mov eax, 0x4086f0
call eax
jmp 0x100b0a20
xor esi, esi
mov dword [0x8793710], esi
mov edx, 0xda
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
cmp word [edi + 0x84], dx
jne 0x100b0a73
mov dword [esi + 2], eax
mov dword [esi + 6], ecx
movq xmm0, qword [ebx + 0x10]
movq qword [esi + 0xb], xmm0
mov ax, word [ebx + 0x18]
mov word [esi + 0x13], ax
mov al, byte [ebx + 6]
mov byte [esi], al
mov al, byte [ebx + 7]
mov byte [esi + 1], al
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
movq xmm0, qword [ebx + 0x10]
movq qword [esi + 0x21], xmm0
mov ax, word [ebx + 0x18]
mov word [esi + 0x29], ax
mov al, byte [ebx + 6]
mov byte [esi + 0x16], al
mov al, byte [ebx + 7]
mov byte [esi + 0x17], al
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
movzx ecx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
mov eax, 0x57d9a0
push ecx
call eax
add esp, 4
mov edi, 0x402bc0
push eax
call edi
mov esi, 0x96a4c0
mov ecx, eax
call esi
test eax, eax
je case.0x100b3147.244
mov cl, byte [ebx + 8]
test cl, cl
je 0x100b0be6
cmp cl, 1
jne 0x100b0b26
mov eax, 0x669fc0
lea ecx, [ebp - 0x70]
call eax
lea eax, [ebp - 0x70]
push eax
mov eax, 0x66d2e0
call eax
add esp, 4
lea ecx, [ebp - 0x70]
mov eax, 0x669fe0
call eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
cmp cl, 2
jne case.0x100b3147.244
movzx ecx, byte [ebx + 6]
movzx eax, byte [ebx + 7]
shl ecx, 8
or ecx, eax
mov eax, 0x57d9a0
push ecx
call eax
add esp, 4
push eax
call edi
mov ecx, eax
call esi
mov esi, eax
test esi, esi
je case.0x100b3147.244
mov eax, 0x66a000
lea ecx, [ebp - 0x74]
call eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0
push ecx
push eax
mov eax, 0x66d360
call eax
add esp, 8
lea ecx, [ebp - 0x74]
mov eax, 0x66a020
call eax
cmp dword [ebp - 0x7c], 0
je case.0x100b3147.244
add esi, 0x38
mov edi, 0x402320
push esi
push 0x5ce
mov ecx, 0x8128adc
call edi
push eax
push dword [ebp - 0x7c]
push 0x102a22b0
call fcn.10072040
add esp, 0x10
mov ecx, 0x8128adc
push esi
push 0x5d0
call edi
push eax
push dword [ebp - 0x7c]
push 0x102a22b0
call fcn.10072040
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov ecx, 0xda
cmp word [eax + 0x84], cx
mov eax, 0x668770
mov ecx, 0x8793710
je 0x100b0c03
mov ecx, 0x8793726
call eax
mov eax, 0x669f80
lea ecx, [ebp - 0x70]
call eax
lea eax, [ebp - 0x70]
push eax
mov eax, 0x66d260
call eax
add esp, 4
lea ecx, [ebp - 0x70]
mov eax, 0x669fa0
call eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
cmp byte [ebx], 0xc1
jne 0x100b0c47
mov al, byte [ebx + 3]
jmp 0x100b0c4a
mov al, byte [ebx + 4]
cmp al, 0x32
jne case.default.0x100b3147
mov eax, 0x102c3c88
nop word [eax + eax]
mov dword [eax - 4], 0xffffffff
mov dword [eax], 0xffffffff
add eax, 8
cmp eax, 0x102c3d88
jl 0x100b0c60
xor esi, esi
cmp byte [ebx + 5], 0
jbe case.default.0x100b3147
lea edx, [ebx + 6]
mov ecx, dword [edx]
lea edx, [edx + 8]
mov eax, dword [edx - 4]
inc esi
mov dword [ecx*8 + 0x102c3628], eax
movzx eax, byte [ebx + 5]
cmp esi, eax
jl 0x100b0c86
jmp case.default.0x100b3147
cmp byte [ebx], 0xc1
jne 0x100b0cad
mov al, byte [ebx + 3]
jmp 0x100b0cb0
mov al, byte [ebx + 4]
cmp al, 0x20
jne case.default.0x100b3147
mov eax, 0x861110
call eax
mov edx, 0x861280
mov ecx, eax
call edx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je case.0x100b3147.244
movzx eax, word [ebx + 6]
push eax
mov eax, 0x7da760
call eax
test eax, eax
je case.0x100b3147.244
mov ecx, dword [ebx + 8]
mov dword [eax + 0x63], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
cmp byte [ebx], 0xc1
jne 0x100b0d0d
mov al, byte [ebx + 3]
jmp 0x100b0d10
mov al, byte [ebx + 4]
movzx eax, al
sub eax, 0
je 0x100b0e65
sub eax, 1
je 0x100b0d54
sub eax, 1
jne case.default.0x100b3147
cmp dword [0x107e7d00], edi
je case.default.0x100b3147
mov al, byte [ebx + 4]
test al, al
je 0x100b0d45
cmp al, 2
jne case.default.0x100b3147
mov dword [0x107e7cfc], 0
jmp 0x100b08dd
mov al, byte [ebx + 4]
cmp dword [0x107e7cfc], edi
jne 0x100b0e5b
cmp dword [0x107e7ce8], 0
je 0x100b0e5b
cmp al, 1
jne 0x100b0dcd
xor eax, eax
mov dword [ebp - 0x7c], 0xf304c1
lea ecx, [ebp - 0x7c]
mov byte [ebp - 0x79], al
lea edx, [eax + 4]
call fcn.100b5120
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x107e7d00], edi
mov dword [0x107e7cfc], 2
call esi
mov dword [0x107e7cf8], eax
call esi
mov dword [0x107e7cf4], eax
mov dword [0x107e7cf0], 0x7530
mov dword [0x107e7cec], 0x7530
call fcn.100b5380
jmp case.default.0x100b3147
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp al, 3
jne 0x100b0e19
mov dword [0x107e7d00], edi
mov dword [0x107e7cfc], edi
call esi
mov dword [0x107e7cf8], eax
call esi
mov dword [0x107e7cf4], eax
mov dword [0x107e7cf0], 0x2710
mov dword [0x107e7cec], 0x7530
mov dword [0x107e7ce8], 0
call fcn.100b5380
jmp case.default.0x100b3147
mov dword [0x107e7d00], 2
mov dword [0x107e7cfc], 0
call esi
mov dword [0x107e7cf8], eax
call esi
mov dword [0x107e7cf4], eax
mov ecx, 0x8793750
mov eax, 0x63a180
mov dword [0x107e7cf0], 0
mov dword [0x107e7cec], 0
call eax
call fcn.100b5380
jmp case.default.0x100b3147
movzx ecx, byte [ebx + 5]
movzx eax, byte [ebx + 6]
shl ecx, 8
or ecx, eax
mov dword [0x107e7ce0], ecx
jmp case.default.0x100b3147
cmp byte [ebx], 0xc1
jne 0x100b0e87
mov al, byte [ebx + 3]
jmp 0x100b0e8a
mov al, byte [ebx + 4]
movzx eax, al
movzx eax, byte [eax + 0x100b35d0]
jmp dword [eax*4 + 0x100b34c8]
cmp dword [0x102c736c], 0
je 0x100b0ed1
mov dword [0x108381cc], 0
mov eax, 0x108381dc
mov dword [eax - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0
add eax, 0xc
cmp eax, 0x1083835c
jl 0x100b0eb3
call fcn.100af7f0
mov ecx, 0x102a222c
call fcn.100636e0
mov ecx, 0x102a2234
call fcn.10063620
push ebx
call fcn.10053bf0
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
push ebx
call fcn.100540e0
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.100b4750
jmp case.0x100b0e94.2
mov eax, dword [ebx + 0x1c]
mov dword [0x107e7ba0], eax
mov eax, dword [ebx + 0x20]
mov dword [0x107e7b98], eax
mov eax, dword [ebx + 0x24]
mov dword [0x107e7bbc], eax
mov eax, dword [ebx + 0x28]
mov dword [0x107e7ba8], eax
jmp case.0x100b0e94.2
mov ecx, ebx
call fcn.100b49d0
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov al, byte [ebx + 4]
sub al, 0x10
cmp al, 4
ja case.0x100b0e94.2
mov eax, dword [ebx + 0xc]
mov dword [0x107e7cd8], eax
mov eax, dword [ebx + 0x10]
mov dword [0x107e7b9c], eax
mov eax, dword [ebx + 0x14]
mov dword [0x107e7bcc], eax
mov eax, dword [ebx + 0x18]
mov dword [0x107e7bc8], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x107e7ba4], eax
mov eax, dword [ebx + 0x20]
mov dword [0x107e7ca4], eax
mov eax, dword [ebx + 0x24]
mov dword [0x107e7ca0], eax
mov eax, dword [ebx + 0x28]
mov dword [0x107e7c9c], eax
mov eax, dword [ebx + 0x2c]
mov dword [0x107e7bb8], eax
mov eax, dword [ebx + 0x30]
mov dword [0x107e7bb0], eax
jmp case.0x100b0e94.2
mov eax, dword [ebx + 8]
mov dword [0x107e7ba0], eax
mov eax, dword [ebx + 0xc]
mov dword [0x107e7ba8], eax
mov eax, dword [ebx + 0x10]
mov dword [0x107e7cd4], eax
mov eax, dword [ebx + 0x14]
mov dword [0x107e7cd0], eax
jmp case.0x100b0e94.2
mov ecx, ebx
call fcn.100b4ce0
jmp case.0x100b0e94.2
mov eax, dword [ebx + 0x14]
mov dword [0x107e7b9c], eax
mov eax, dword [ebx + 0x18]
mov dword [0x107e7bcc], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x107e7bc8], eax
mov eax, dword [ebx + 0x20]
mov dword [0x107e7ba4], eax
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov dword [0x107e7cb0], eax
mov dword [0x107e7cb4], ecx
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov dword [0x107e7ca8], eax
mov dword [0x107e7cac], ecx
mov ecx, dword [0x8128ac8]
movzx eax, word [ebx + 0x12]
mov word [ecx + 0x40], ax
mov ecx, dword [0x8128ac8]
movzx eax, word [ebx + 0x12]
mov word [ecx + 0x42], ax
jmp case.0x100b0e94.2
mov dword [0x1069940c], 0
mov dword [0x10699410], 0
mov dword [0x10699414], 0
jmp case.0x100b0e94.2
movaps xmm0, xmmword [0x100f21a0]
push 0x120
push 0xff
push 0x10869e34
mov dword [0x10869de0], 0
movups xmmword [0x10869e1c], xmm0
mov dword [0x10869e2c], 0
mov dword [0x10869e30], 0
call fcn.100c2c10
add esp, 0xc
cmp byte [ebx + 0x1d], 0
jbe case.0x100b3147.244
movzx eax, byte [ebx + 0x1c]
cmp dword [0x10869de8], eax
jne case.0x100b3147.244
mov dword [0x10869de0], edi
xor edx, edx
movzx eax, byte [ebx + 0x1d]
mov dword [0x10869dec], eax
movsx eax, word [ebx + 6]
mov dword [0x10869e1c], eax
movsx eax, word [ebx + 8]
mov dword [0x10869e20], eax
mov eax, dword [ebx + 0xc]
mov dword [0x10869e24], eax
mov eax, dword [ebx + 0x10]
mov dword [0x10869e28], eax
mov eax, dword [ebx + 0x14]
mov dword [0x10869e2c], eax
mov eax, dword [ebx + 0x18]
mov dword [0x10869e30], eax
cmp byte [ebx + 0x1e], dl
jbe case.0x100b3147.244
mov eax, 0x10869e13
lea ecx, [ebx + 0x23]
sub eax, ebx
mov edi, 0x10869e11
mov dword [ebp - 0x74], eax
mov esi, 0x10869e1d
mov eax, 0x10869e14
sub edi, ebx
sub eax, ebx
mov dword [ebp - 0x64], eax
mov eax, 0x10869e15
sub eax, ebx
mov dword [ebp - 0x84], eax
mov eax, 0x10869e16
sub eax, ebx
mov dword [ebp - 0x8c], eax
mov eax, 0x10869e19
sub eax, ebx
sub esi, ebx
mov dword [ebp - 0x70], eax
mov ax, word [ecx - 3]
lea ecx, [ecx + 0x18]
mov ebx, dword [ebp - 0x74]
inc edx
mov word [edi + ecx - 0x18], ax
mov al, byte [ecx - 0x19]
mov byte [ebx + ecx - 0x18], al
mov al, byte [ecx - 0x18]
mov ebx, dword [ebp - 0x64]
mov byte [ebx + ecx - 0x18], al
mov al, byte [ecx - 0x17]
mov ebx, dword [ebp - 0x84]
mov byte [ebx + ecx - 0x18], al
mov al, byte [ecx - 0x16]
mov ebx, dword [ebp - 0x8c]
mov byte [ebx + ecx - 0x18], al
mov ebx, dword [ebp - 0x70]
mov eax, dword [ecx - 0x13]
mov dword [ebx + ecx - 0x18], eax
movq xmm0, qword [ecx - 0xf]
mov ebx, dword [ebp - 0x7c]
movq qword [esi + ecx - 0x18], xmm0
mov eax, dword [ecx - 7]
mov dword [esi + ecx - 0x10], eax
movzx eax, byte [ebx + 0x1e]
cmp edx, eax
jl 0x100b1172
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov al, byte [ebx + 4]
cmp al, 0xa
jbe 0x100b1249
mov eax, 0x9cfb8d
mov dword [0x10869e00], 0x41a00000
call eax
cdq
mov ecx, 0x3c
idiv ecx
add edx, 0x96
mov dword [0x10869e04], edx
movzx eax, byte [ebx + 4]
sub eax, 0xa
mov dword [0x10869e18], eax
mov eax, dword [0x10869e30]
test eax, eax
jle case.0x100b3147.244
dec eax
mov dword [0x10869e30], eax
lea eax, [ecx - 0x3b]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
cmp al, 3
jne 0x100b126d
mov dword [0x10869e14], 2
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
cmp al, 4
jne 0x100b12a5
mov dword [0x10869e08], 0
mov eax, 1
mov dword [0x10869e04], 0xffffffff
mov dword [0x10869e14], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov dword [0x10869e14], edi
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
cmp byte [ebx], 0xc1
jne 0x100b3133
mov al, byte [ebx + 3]
jmp 0x100b3136
mov al, byte [ebx + 4]
movzx eax, al
add eax, 0xffffff10
cmp eax, 4
ja case.default.0x100b3147
jmp dword [eax*4 + 0x100b36e4]
mov byte [0x102a527d], 1
mov dword [0xe8cb3c], 1
movzx eax, word [ebx + 8]
mov dword [0x10109c4c], eax
movzx eax, word [ebx + 6]
mov dword [0x10109c3c], eax
mov eax, dword [ebx + 0xc]
mov dword [0x10109c40], eax
mov eax, dword [ebx + 0x10]
mov dword [0x10109c44], eax
mov eax, dword [ebx + 0x14]
mov dword [0x10109c48], eax
mov dword [0x102a5328], 0xbf800000
mov dword [0x102a52c8], 0xbf800000
call esi
sub eax, 0xc8
mov dword [0x102a52d8], eax
call esi
sub eax, 0xc8
lea esi, [ebx + 0x58]
mov dword [0x102a5338], eax
mov ecx, 0x40
movups xmm0, xmmword [ebx + 0x18]
mov edi, 0x10109cb0
movups xmmword [0x10109c70], xmm0
movups xmm0, xmmword [ebx + 0x28]
movups xmmword [0x10109c80], xmm0
movups xmm0, xmmword [ebx + 0x38]
movups xmmword [0x10109c90], xmm0
movups xmm0, xmmword [ebx + 0x48]
movups xmmword [0x10109ca0], xmm0
rep movsd dword es:[edi], dword [esi]
jmp case.default.0x100b3147
cmp byte [ebx + 4], 1
jne case.default.0x100b3147
mov eax, dword [ebx + 8]
mov dword [0x102aa60c], eax
call esi
mov dword [0x102aa610], eax
mov eax, dword [0xe61e18]
mov dword [0x102aa614], eax
jmp case.default.0x100b3147
mov eax, dword [0x100fc064]
xor edi, edi
mov ecx, dword [0x100fc068]
cmp eax, ecx
je 0x100b3236
mov ecx, eax
mov dword [0x100fc068], ecx
cmp dword [ebx + 8], edi
jle 0x100b328a
lea esi, [ebx + 0xc]
nop
cmp ecx, dword [0x100fc06c]
je 0x100b326f
movups xmm0, xmmword [esi]
movups xmmword [ecx], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ecx + 0x10], xmm0
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x100fc068]
add ecx, 0x1c
mov dword [0x100fc068], ecx
jmp 0x100b3281
push esi
push ecx
mov ecx, 0x100fc064
call fcn.10013fe0
mov ecx, dword [0x100fc068]
inc edi
add esi, 0x1c
cmp edi, dword [ebx + 8]
jl 0x100b3240
cmp dword [0x100fc0ac], edi
jge case.0x100b3147.244
mov dword [0x100fc0ac], edi
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100fc070]
xor edx, edx
mov ecx, dword [0x100fc074]
mov dword [ebp - 0x74], edx
cmp eax, ecx
je 0x100b32ce
mov ecx, eax
mov dword [0x100fc074], ecx
xor edi, edi
cmp dword [ebx + 8], edx
jle 0x100b3329
lea esi, [ebx + 0xc]
cmp ecx, dword [0x100fc078]
je 0x100b3307
movups xmm0, xmmword [esi]
movups xmmword [ecx], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ecx + 0x10], xmm0
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x100fc074]
add ecx, 0x1c
mov dword [0x100fc074], ecx
jmp 0x100b331c
push esi
push ecx
mov ecx, 0x100fc070
call fcn.10013fe0
mov ecx, dword [0x100fc074]
mov edx, dword [ebp - 0x74]
inc edx
inc edi
add esi, 0x1c
mov dword [ebp - 0x74], edx
cmp edi, dword [ebx + 8]
jl 0x100b32d8
cmp dword [0x100fc0ac], edx
jge case.0x100b3147.244
mov dword [0x100fc0ac], edx
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100c0a54
mov esp, ebp
pop ebp
ret
call fcn.100c11a0
nop
je 0x100b3354
or dl, byte [eax]
wait
dec byte [edx]
adc dl, al
dec byte [edx]
adc byte [ebx - 1], cl
or dl, byte [eax]
retf