Function at 0x10035200
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xd0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10060d30]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x10060d2c]
mov dword [ebp - 0x14], ecx
sub eax, 0x9b0a1bf2
sub eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, 0x9b0a1bf2
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0
sete cl
mov byte [ebp - 0x2e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2d], al
mov dl, byte [ebp - 0x2d]
mov cl, byte [ebp - 0x2e]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x2f], al
mov al, byte [ebp - 0x2f]
test al, 1
jne 0x1003528d
jmp 0x1003588c
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov edi, esp
mov dword [ebp - 0x38], edi
push eax
mov edi, esp
mov dword [ebp - 0x34], edi
mov dword [edx], esi
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
mov dword [ecx], edx
cmp dword [eax], 1
sete al
mov byte [ebp - 0x45], al
mov eax, dword [0x10060d30]
mov dword [ebp - 0x44], eax
mov eax, dword [0x10060d2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
sub eax, 0x198bca62
sub eax, 1
add eax, 0x198bca62
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x44]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x4d], al
mov al, byte [ebp - 0x4d]
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x4f], dl
xor al, cl
mov byte [ebp - 0x4e], al
mov cl, byte [ebp - 0x4e]
mov al, byte [ebp - 0x4f]
or al, cl
test al, 1
jne 0x10035325
jmp 0x1003588c
mov al, byte [ebp - 0x45]
test al, 1
jne 0x10035335
jmp 0x1003582f
mov eax, dword [0x10060d30]
mov dword [ebp - 0x58], eax
mov eax, dword [0x10060d2c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x58]
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x5e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x5d], al
mov cl, byte [ebp - 0x5d]
mov al, byte [ebp - 0x5e]
and al, cl
mov byte [ebp - 0x5f], al
mov al, byte [ebp - 0x5f]
mov dl, byte [ebp - 0x5d]
mov cl, byte [ebp - 0x5e]
xor cl, dl
or al, cl
mov byte [ebp - 0x60], al
mov al, byte [ebp - 0x60]
test al, 1
jne 0x1003539d
jmp 0x100358d5
mov eax, dword [0x10060d30]
mov dword [ebp - 0x6c], eax
mov ecx, dword [0x10060d2c]
mov dword [ebp - 0x68], ecx
sub eax, 0x8a0c31c1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x64]
sub edx, 1
add edx, 0x8a0c31c1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x72], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x71], cl
xor al, 0xff
mov byte [ebp - 0x70], al
xor cl, 0xff
mov byte [ebp - 0x6f], cl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x6e], cl
and al, 0
mov byte [ebp - 0x6d], al
mov al, byte [ebp - 0x6f]
mov dl, byte [ebp - 0x6e]
mov cl, byte [ebp - 0x72]
and cl, dl
mov byte [ebp - 0x74], cl
and al, 0
mov byte [ebp - 0x73], al
mov cl, byte [ebp - 0x74]
mov al, byte [ebp - 0x6d]
mov ah, byte [ebp - 0x6e]
mov dl, byte [ebp - 0x71]
and dl, ah
mov byte [ebp - 0x76], dl
or al, cl
mov byte [ebp - 0x75], al
mov dl, byte [ebp - 0x6e]
mov ah, byte [ebp - 0x6f]
mov cl, byte [ebp - 0x70]
mov al, byte [ebp - 0x75]
mov dh, byte [ebp - 0x76]
mov ch, byte [ebp - 0x73]
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x77], al
mov al, byte [ebp - 0x77]
test al, 1
jne 0x10035456
jmp 0x100358d5
mov eax, dword [0x10060d30]
mov dword [ebp - 0x84], eax
mov eax, dword [0x10060d2c]
mov dword [ebp - 0x80], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x84]
mov esi, dword [ebp - 0x7c]
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x8a], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x89], cl
xor al, 0xff
mov byte [ebp - 0x88], al
xor cl, 0xff
mov byte [ebp - 0x87], cl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x86], cl
and al, 0
mov byte [ebp - 0x85], al
mov al, byte [ebp - 0x85]
mov ah, byte [ebp - 0x86]
mov dl, byte [ebp - 0x89]
mov ch, byte [ebp - 0x87]
mov cl, byte [ebp - 0x8a]
and cl, ah
and ch, 0
mov byte [ebp - 0x8d], ch
and dl, ah
mov byte [ebp - 0x8c], dl
or al, cl
mov byte [ebp - 0x8b], al
mov cl, byte [ebp - 0x87]
mov al, byte [ebp - 0x88]
mov dl, byte [ebp - 0x8b]
mov ch, byte [ebp - 0x8c]
mov ah, byte [ebp - 0x8d]
or ah, ch
xor dl, ah
mov byte [ebp - 0x8f], dl
or al, cl
mov byte [ebp - 0x8e], al
mov al, byte [ebp - 0x86]
mov cl, byte [ebp - 0x8e]
xor cl, 0xff
mov byte [ebp - 0x91], cl
or al, 0
mov byte [ebp - 0x90], al
mov al, byte [ebp - 0x8f]
mov dl, byte [ebp - 0x90]
mov cl, byte [ebp - 0x91]
and cl, dl
or al, cl
test al, 1
jne 0x1003556c
jmp 0x1003583e
mov eax, dword [ebp - 0x34]
mov dword [eax], 0
xor ecx, ecx
lea ecx, [sym.proxy.dll_DllEntry]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, dword [0x10060d30]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10060d2c]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x9c]
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x9d], al
mov eax, dword [ebp - 0x98]
cmp eax, 0xa
setl al
mov byte [ebp - 0x9e], al
mov cl, byte [ebp - 0x9d]
mov al, byte [ebp - 0x9e]
mov ah, cl
xor ah, 0xff
mov byte [ebp - 0xa4], ah
xor al, 0xff
mov byte [ebp - 0xa3], al
mov dl, 1
xor dl, 0
mov byte [ebp - 0xa2], dl
and ah, 0
mov byte [ebp - 0xa1], ah
and cl, dl
mov byte [ebp - 0xa0], cl
and al, 0
mov byte [ebp - 0x9f], al
mov cl, byte [ebp - 0xa2]
mov dl, byte [ebp - 0xa3]
mov al, byte [ebp - 0xa4]
mov ch, byte [ebp - 0x9f]
mov bl, byte [ebp - 0xa0]
mov ah, byte [ebp - 0xa1]
mov dh, byte [ebp - 0x9e]
and dh, cl
or ah, bl
or ch, dh
xor ah, ch
mov byte [ebp - 0xa6], ah
or al, dl
xor al, 0xff
or cl, 0
and al, cl
mov byte [ebp - 0xa5], al
mov cl, byte [ebp - 0xa5]
mov al, byte [ebp - 0xa6]
or al, cl
test al, 1
jne 0x1003569b
jmp 0x1003583e
mov eax, dword [0x10060d30]
mov ecx, dword [0x10060d2c]
mov dword [ebp - 0xac], ecx
mov ecx, eax
sub ecx, 0x2c3ec780
sub ecx, 1
add ecx, 0x2c3ec780
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xa7], al
mov cl, byte [ebp - 0xa7]
mov eax, dword [ebp - 0xac]
cmp eax, 0xa
setl al
mov byte [ebp - 0xaf], al
xor cl, 0xff
mov byte [ebp - 0xae], cl
xor al, 0xff
mov byte [ebp - 0xad], al
mov al, byte [ebp - 0xad]
mov cl, byte [ebp - 0xa7]
mov ah, byte [ebp - 0xae]
mov dl, 1
xor dl, 1
mov byte [ebp - 0xb3], dl
and ah, 0xff
mov byte [ebp - 0xb2], ah
and cl, dl
mov byte [ebp - 0xb1], cl
and al, 0xff
mov byte [ebp - 0xb0], al
mov cl, byte [ebp - 0xb3]
mov al, byte [ebp - 0xaf]
and al, cl
mov byte [ebp - 0xb4], al
mov dl, byte [ebp - 0xb3]
mov ah, byte [ebp - 0xad]
mov cl, byte [ebp - 0xae]
mov dh, byte [ebp - 0xb4]
mov ch, byte [ebp - 0xb0]
mov bl, byte [ebp - 0xb1]
mov al, byte [ebp - 0xb2]
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
mov byte [ebp - 0xb5], al
mov al, byte [ebp - 0xb5]
test al, 1
jne 0x10035797
jmp 0x10035887
mov eax, dword [0x10060d30]
mov dword [ebp - 0xc4], eax
mov ecx, dword [0x10060d2c]
mov dword [ebp - 0xc0], ecx
sub eax, 0x1977de0a
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
sub eax, 1
add eax, 0x1977de0a
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
imul eax, ecx
and eax, 1
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
cmp eax, 0
sete al
mov byte [ebp - 0xcd], al
mov cl, byte [ebp - 0xcd]
mov eax, dword [ebp - 0xc0]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0xce], al
mov al, byte [ebp - 0xce]
test al, 1
jne 0x1003582a
jmp 0x10035887
jmp 0x1003582f
mov eax, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov eax, dword [ebp - 0x34]
mov dword [eax], 0
mov eax, dword [ebp - 0x34]
xor ecx, ecx
lea ecx, [sym.proxy.dll_DllEntry]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x1003556c
jmp 0x10035797
push eax
mov eax, esp
mov dword [ebp - 0xdc], eax
push eax
mov eax, esp
mov dword [ebp - 0xd8], eax
push eax
mov eax, esp
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x24]
mov dword [edi], ebx
mov dword [edx], esi
mov dword [eax], ecx
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
jmp 0x1003528d
jmp 0x1003539d