Function at 0x4101f0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4503ac
mov eax, dword fs:[0]
push eax
sub esp, 0x4fc
mov eax, dword [0x4655f0]
xor eax, esp
mov dword [esp + 0x4f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4655f0]
xor eax, esp
push eax
lea eax, [esp + 0x510]
mov dword fs:[0], eax
lea eax, [esp + 0xf4]
mov edi, ecx
push eax
mov dword [esp + 0x30], edi
call fcn.0040d5c0
mov dword [esp + 0x518], 0
call fcn.00418933
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410263
push 0x80004005
call fcn.00401640
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov byte [esp + 0x518], 1
call fcn.00418933
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410295
push 0x80004005
call fcn.00401640
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov byte [esp + 0x518], 2
or esi, 0xffffffff
push str.http:__www.fileham.com_main_app_keyword_list1.php
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], esi
call fcn.004017a0
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x104]
mov byte [esp + 0x528], 3
call fcn.0040e260
mov byte [esp + 0x518], 2
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410311
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x18], 0
je 0x410381
mov byte [esp + 0x518], 1
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41033f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x518], 0
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov edx, esi
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410366
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xf4]
push ecx
mov dword [esp + 0x51c], esi
call fcn.0040d7f0
xor al, al
jmp 0x41103a
mov ebx, dword [esp + 0x30]
lea ebp, [edi + 0x20]
push ebp
mov edx, ebx
call fcn.00402950
test al, al
jne 0x4103c8
mov byte [esp + 0x518], 1
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4103bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x518], 0
lea eax, [ebx - 0x10]
jmp 0x41034e
call fcn.00418933
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4103e2
push 0x80004005
call fcn.00401640
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x3c], esi
mov eax, str.BROWSER_INFO
mov ecx, ebp
mov byte [esp + 0x518], 4
call fcn.00402a50
test al, al
jne 0x41049d
lea eax, [esi - 0x10]
mov byte [esp + 0x518], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410432
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x518], 1
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41045a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x518], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41047e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xf4]
push ecx
mov dword [esp + 0x51c], 0xffffffff
call fcn.0040d7f0
xor al, al
jmp 0x41103a
mov eax, ebp
call fcn.00402aa0
mov eax, str.CONFIG
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410a84
mov eax, ebp
call fcn.00402aa0
mov eax, str.CONFIG_REFRESH_TIME
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410505
lea esi, [esp + 0x18]
mov eax, ebp
call fcn.0040f590
mov ecx, eax
mov byte [esp + 0x518], 5
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
mov ecx, esi
mov word [edi + 0x56], ax
mov byte [esp + 0x518], 4
call fcn.00401600
mov eax, str.SERARCH_ON
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410550
lea esi, [esp + 0x18]
mov eax, ebp
call fcn.0040f590
push 0x458938
mov ecx, eax
mov byte [esp + 0x51c], 6
call fcn.00406d00
test eax, eax
mov ecx, esi
sete bl
mov byte [esp + 0x518], 4
call fcn.00401600
test bl, bl
sete dl
mov byte [edi + 0x54], dl
mov eax, str.BROWSER_SEARCH_TIME
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410596
lea esi, [esp + 0x18]
mov eax, ebp
call fcn.0040f590
mov ecx, eax
mov byte [esp + 0x518], 7
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
mov ecx, esi
mov word [edi + 0x58], ax
mov byte [esp + 0x518], 4
call fcn.00401600
mov eax, str.HOT_CONTETNS_ALARM_NOT_MEMBER
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410645
mov eax, str.FirstTimeTick
lea ecx, [esp + 0x24]
mov edx, ebp
call fcn.0040f5b0
mov bl, 8
mov eax, str.FirstTimeTick
lea ecx, [esp + 0x18]
mov edx, ebp
mov byte [esp + 0x518], bl
call fcn.0040f5b0
mov ecx, eax
mov byte [esp + 0x518], 9
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
lea ecx, [esp + 0x18]
mov word [edi + 0x5a], ax
mov byte [esp + 0x518], bl
call fcn.00401600
mov eax, str.SecondTimeTick
lea ecx, [esp + 0x18]
mov edx, ebp
call fcn.0040f5b0
mov ecx, eax
mov byte [esp + 0x518], 0xa
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
lea ecx, [esp + 0x18]
mov word [edi + 0x5c], ax
call fcn.00401600
lea ecx, [esp + 0x24]
mov byte [esp + 0x518], 4
call fcn.00401600
mov eax, str.HOT_CONTETNS_ALARM_MEMBER
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x4106cf
mov eax, str.FirstTimeTick
lea ecx, [esp + 0x18]
mov edx, ebp
call fcn.0040f5b0
mov ecx, eax
mov byte [esp + 0x518], 0xb
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
lea ecx, [esp + 0x18]
mov word [edi + 0x5e], ax
mov byte [esp + 0x518], 4
call fcn.00401600
mov eax, str.SecondTimeTick
lea ecx, [esp + 0x18]
mov edx, ebp
call fcn.0040f5b0
mov ecx, eax
mov byte [esp + 0x518], 0xc
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
lea ecx, [esp + 0x18]
mov word [edi + 0x60], ax
mov byte [esp + 0x518], 4
call fcn.00401600
mov eax, str.HOT_CONTENTS_TRAY_STAY_TIME
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410715
lea esi, [esp + 0x18]
mov eax, ebp
call fcn.0040f590
mov ecx, eax
mov byte [esp + 0x518], 0xd
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
mov ecx, esi
mov word [edi + 0x64], ax
mov byte [esp + 0x518], 4
call fcn.00401600
mov eax, str.KEY_WORD_TRAY_STAY_TIME
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x41075b
lea esi, [esp + 0x18]
mov eax, ebp
call fcn.0040f590
mov ecx, eax
mov byte [esp + 0x518], 0xe
call fcn.00406f50
push eax
call fcn.0043800a
add esp, 4
mov ecx, esi
mov word [edi + 0x62], ax
mov byte [esp + 0x518], 4
call fcn.00401600
mov eax, str.MATCHING_DOMAIN
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410a7d
mov eax, ebp
call fcn.00402aa0
mov eax, str.DOMAIN
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410a76
mov eax, dword [esp + 0x2c]
add eax, 0xac
mov dword [esp + 0x20], eax
jmp 0x4107a0
lea ecx, [esp + 0x47c]
push ecx
mov esi, 1
call fcn.00411070
mov bl, 0xf
mov eax, str.ServiceName
lea ecx, [esp + 0x18]
mov edx, ebp
mov byte [esp + 0x518], bl
call fcn.0040f5b0
mov edi, eax
mov byte [esp + 0x518], 0x10
mov eax, dword [edi]
sub eax, 0x10
cmp dword [eax + 0xc], esi
jle 0x4107ea
mov edx, dword [eax + 4]
push edx
mov ecx, edi
call fcn.004016e0
mov edi, dword [edi]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4107f1
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x4a0]
call fcn.004071b0
mov byte [esp + 0x518], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410831
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, str.CharSet
lea ecx, [esp + 0x24]
mov edx, ebp
call fcn.0040f5b0
mov edi, eax
mov byte [esp + 0x518], 0x11
mov eax, dword [edi]
sub eax, 0x10
cmp dword [eax + 0xc], esi
jle 0x410860
mov ecx, dword [eax + 4]
push ecx
mov ecx, edi
call fcn.004016e0
mov edi, dword [edi]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x410867
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x4f4]
call fcn.004071b0
mov byte [esp + 0x518], bl
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4108a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, str.SearchURL
lea ecx, [esp + 0x38]
mov edx, ebp
call fcn.0040f5b0
mov edi, eax
mov byte [esp + 0x518], 0x12
mov eax, dword [edi]
sub eax, 0x10
cmp dword [eax + 0xc], esi
jle 0x4108d6
mov ecx, dword [eax + 4]
push ecx
mov ecx, edi
call fcn.004016e0
mov edi, dword [edi]
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4108e0
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x484]
call fcn.004071b0
mov byte [esp + 0x518], bl
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410920
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, str.Begin
lea ecx, [esp + 0x34]
mov edx, ebp
call fcn.0040f5b0
mov edi, eax
mov byte [esp + 0x518], 0x13
mov eax, dword [edi]
sub eax, 0x10
cmp dword [eax + 0xc], esi
jle 0x41094f
mov ecx, dword [eax + 4]
push ecx
mov ecx, edi
call fcn.004016e0
mov edi, dword [edi]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x410956
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x4bc]
call fcn.004071b0
mov byte [esp + 0x518], bl
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410996
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x458a20
lea ecx, [esp + 0x1c]
mov edx, ebp
call fcn.0040f5b0
mov edi, eax
mov byte [esp + 0x518], 0x14
mov eax, dword [edi]
sub eax, 0x10
cmp dword [eax + 0xc], esi
jle 0x4109c5
mov ecx, dword [eax + 4]
push ecx
mov ecx, edi
call fcn.004016e0
mov edi, dword [edi]
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4109d0
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x4d8]
call fcn.004071b0
mov byte [esp + 0x518], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410a10
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x498]
push ecx
lea edx, [esp + 0x50]
push edx
lea edi, [esp + 0x484]
call fcn.004129a0
push eax
mov byte [esp + 0x51c], 0x15
mov eax, dword [esp + 0x24]
push eax
lea ebx, [esp + 0x48]
call fcn.00412620
lea ecx, [esp + 0x4c]
push ecx
mov byte [esp + 0x51c], 0xf
call fcn.004111e0
mov edx, edi
push edx
mov byte [esp + 0x51c], 4
call fcn.004110e0
mov eax, str.DOMAIN
mov ecx, ebp
call fcn.00402a50
test al, al
jne 0x4107a0
mov eax, ebp
call fcn.00402ad0
mov eax, ebp
call fcn.00402ad0
mov eax, str.MATCHING_KEYWORDS
mov ecx, ebp
xor ebx, ebx
call fcn.00402a50
test al, al
je 0x410fa1
mov eax, ebp
call fcn.00402aa0
mov eax, str.SINGLE_KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410bda
mov eax, ebp
call fcn.00402aa0
mov eax, str.KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410bd3
mov eax, dword [esp + 0x2c]
add eax, 0xb8
mov dword [esp + 0x1c], eax
lea ecx, [ecx]
lea ecx, [esp + 0x444]
push ecx
call fcn.00411260
lea esi, [esp + 0x20]
mov eax, ebp
mov byte [esp + 0x518], 0x16
call fcn.0040f590
mov byte [esp + 0x518], 0x17
mov ecx, dword [eax]
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x410b10
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x44c]
call fcn.004071b0
mov byte [esp + 0x518], 0x16
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410b51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x444]
push ecx
lea edx, [esp + 0x480]
push edx
mov edi, ecx
call fcn.00412a10
push eax
lea eax, [esp + 0x44]
mov byte [esp + 0x51c], 0x18
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.004127c0
lea edx, [esp + 0x47c]
push edx
mov byte [esp + 0x51c], 0x16
call fcn.00411340
add ebx, 1
cmp ebx, 0x3e8
jle 0x410baa
push 0x64
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x444]
push eax
mov byte [esp + 0x51c], 4
call fcn.004112b0
mov eax, str.KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
jne 0x410ae0
mov eax, ebp
call fcn.00402ad0
mov eax, str.EXTENSION_KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410d1a
mov eax, ebp
call fcn.00402aa0
mov eax, str.KEYWORD
mov ecx, ebp
xor ebx, ebx
call fcn.00402a50
test al, al
je 0x410d13
mov ecx, dword [esp + 0x2c]
add ecx, 0xc4
mov dword [esp + 0x1c], ecx
lea esp, [esp]
lea edx, [esp + 0x444]
push edx
call fcn.00411260
lea esi, [esp + 0x20]
mov eax, ebp
mov byte [esp + 0x518], 0x19
call fcn.0040f590
mov byte [esp + 0x518], 0x1a
mov ecx, dword [eax]
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x410c50
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x44c]
call fcn.004071b0
mov byte [esp + 0x518], 0x19
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410c91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x444]
push ecx
lea edx, [esp + 0x480]
push edx
mov edi, ecx
call fcn.00412a10
push eax
lea eax, [esp + 0x44]
mov byte [esp + 0x51c], 0x1b
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.004127c0
lea edx, [esp + 0x47c]
push edx
mov byte [esp + 0x51c], 0x19
call fcn.00411340
add ebx, 1
cmp ebx, 0x3e8
jle 0x410cea
push 0x64
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x444]
push eax
mov byte [esp + 0x51c], 4
call fcn.004112b0
mov eax, str.KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
jne 0x410c20
mov eax, ebp
call fcn.00402ad0
mov eax, str.EXCEPTION_KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410e5a
mov eax, ebp
call fcn.00402aa0
mov eax, str.KEYWORD
mov ecx, ebp
xor ebx, ebx
call fcn.00402a50
test al, al
je 0x410e53
mov ecx, dword [esp + 0x2c]
add ecx, 0xd0
mov dword [esp + 0x1c], ecx
lea esp, [esp]
lea edx, [esp + 0x444]
push edx
call fcn.00411260
lea esi, [esp + 0x20]
mov eax, ebp
mov byte [esp + 0x518], 0x1c
call fcn.0040f590
mov byte [esp + 0x518], 0x1d
mov ecx, dword [eax]
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x410d90
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x44c]
call fcn.004071b0
mov byte [esp + 0x518], 0x1c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410dd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x444]
push ecx
lea edx, [esp + 0x480]
push edx
mov edi, ecx
call fcn.00412a10
push eax
lea eax, [esp + 0x44]
mov byte [esp + 0x51c], 0x1e
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.004127c0
lea edx, [esp + 0x47c]
push edx
mov byte [esp + 0x51c], 0x1c
call fcn.00411340
add ebx, 1
cmp ebx, 0x3e8
jle 0x410e2a
push 0x64
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x444]
push eax
mov byte [esp + 0x51c], 4
call fcn.004112b0
mov eax, str.KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
jne 0x410d60
mov eax, ebp
call fcn.00402ad0
mov eax, str.SPECIAL_KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
je 0x410f9a
mov eax, ebp
call fcn.00402aa0
mov eax, str.KEYWORD
mov ecx, ebp
xor ebx, ebx
call fcn.00402a50
test al, al
je 0x410f93
mov ecx, dword [esp + 0x2c]
add ecx, 0xdc
mov dword [esp + 0x1c], ecx
lea esp, [esp]
lea edx, [esp + 0x444]
push edx
call fcn.00411260
lea esi, [esp + 0x20]
mov eax, ebp
mov byte [esp + 0x518], 0x1f
call fcn.0040f590
mov byte [esp + 0x518], 0x20
mov ecx, dword [eax]
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x410ed0
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x44c]
call fcn.004071b0
mov byte [esp + 0x518], 0x1f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f11
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x444]
push ecx
lea edx, [esp + 0x480]
push edx
mov edi, ecx
call fcn.00412a10
push eax
lea eax, [esp + 0x44]
mov byte [esp + 0x51c], 0x21
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.004127c0
lea edx, [esp + 0x47c]
push edx
mov byte [esp + 0x51c], 0x1f
call fcn.00411340
add ebx, 1
cmp ebx, 0x3e8
jle 0x410f6a
push 0x64
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x444]
push eax
mov byte [esp + 0x51c], 4
call fcn.004112b0
mov eax, str.KEYWORD
mov ecx, ebp
call fcn.00402a50
test al, al
jne 0x410ea0
mov eax, ebp
call fcn.00402ad0
mov eax, ebp
call fcn.00402ad0
mov eax, ebp
call fcn.00402ad0
mov byte [esp + 0x518], 2
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410fd0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x518], 1
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410ff8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x518], 0
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411020
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xf4]
push ecx
mov dword [esp + 0x51c], 0xffffffff
call fcn.0040d7f0
mov al, 1
mov ecx, dword [esp + 0x510]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4f8]
xor ecx, esp
call fcn.00437030
add esp, 0x508
ret