Function at 0x40f440
Capabilities:
Check for time delay via gettickcount
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a9133
mov eax, dword fs:[0]
push eax
sub esp, 0x910
mov eax, dword [0x4dc38c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x8e4], edi
mov dword [ebp - 4], 0
lea ecx, [ebp + 8]
mov esi, dword [ebp + 0x1c]
cmp esi, 0x10
mov edx, dword [ebp + 0x18]
cmovae ecx, dword [ebp + 8]
push 1
push 0x4c8cb0
call fcn.004025b0
add esp, 8
test eax, eax
je 0x41028f
xor bh, bh
mov dword [ebp - 0x814], 0xf
mov byte [ebp - 0x8c5], bh
mov dword [ebp - 0x818], 0
mov byte [ebp - 0x828], bh
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x858]
push 1
push 0x4c8ccc
mov dword [ebp - 0x844], 0xf
mov dword [ebp - 0x848], 0
mov byte [ebp - 0x858], bh
call fcn.00402680
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 2
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x8d8]
call fcn.0042a9a0
add esp, 4
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x844]
cmp eax, 0x10
jb 0x40f534
inc eax
lea ecx, [ebp - 0x858]
push eax
push dword [ebp - 0x858]
call fcn.00402bb0
mov ecx, dword [ebp - 0x8d4]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x8d8]
sub ecx, esi
imul ecx
mov dword [ebp - 0x844], 0xf
sar edx, 2
mov eax, edx
mov dword [ebp - 0x848], 0
shr eax, 0x1f
add eax, edx
mov byte [ebp - 0x858], 0
cmp eax, 3
jne 0x40f69f
push 0x4c8ccc
mov edx, esi
lea ecx, [ebp - 0x8bc]
call fcn.00405800
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8a4]
mov eax, dword [ebp - 0x8d8]
add eax, 0x18
push eax
call fcn.004056c0
add esp, 8
mov esi, eax
lea eax, [ebp - 0x828]
cmp eax, esi
je 0x40f5f8
mov eax, dword [ebp - 0x814]
cmp eax, 0x10
jb 0x40f5d1
inc eax
lea ecx, [ebp - 0x828]
push eax
push dword [ebp - 0x828]
call fcn.00402bb0
push esi
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x814], 0xf
mov dword [ebp - 0x818], 0
mov byte [ebp - 0x828], 0
call fcn.00402ae0
mov eax, dword [ebp - 0x890]
cmp eax, 0x10
jb 0x40f616
inc eax
lea ecx, [ebp - 0x8a4]
push eax
push dword [ebp - 0x8a4]
call fcn.00402bb0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x890], 0xf
mov dword [ebp - 0x894], 0
mov byte [ebp - 0x8a4], 0
cmp eax, 0x10
jb 0x40f653
inc eax
lea ecx, [ebp - 0x8bc]
push eax
push dword [ebp - 0x8bc]
call fcn.00402bb0
cmp dword [ebp - 0x814], 0x10
lea eax, [ebp - 0x828]
cmovae eax, dword [ebp - 0x828]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40f699
test al, 0x10
je 0x40f699
mov esi, dword [ebp - 0x8d8]
lea ecx, [ebp + 8]
mov bh, 1
mov byte [ebp - 0x8c5], bh
lea eax, [esi + 0x30]
cmp ecx, eax
je 0x40f69f
push 0xffffffffffffffff
push 0
push eax
call fcn.00402780
mov esi, dword [ebp - 0x8d8]
cmp dword [esi + 0x14], 0x10
jb 0x40f6a7
mov esi, dword [esi]
movsx eax, byte [esi]
push eax
call fcn.0048bbb5
mov ecx, dword [edi + 0x20]
add esp, 4
sub ecx, dword [edi + 0x1c]
xor bl, bl
mov byte [ebp - 0x8c6], al
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40f6ed
mov eax, dword [edi + 0x1c]
cmp dword [eax + 0x14], 0x10
jb 0x40f6df
mov eax, dword [eax]
movsx eax, byte [eax]
push eax
call fcn.0048bbb5
add esp, 4
mov bl, al
push 1
push 0
lea eax, [ebp - 0x8c0]
mov byte [ebp - 0x8c0], 0x2a
push eax
lea ecx, [ebp + 8]
call fcn.0040c190
cmp eax, 0xffffffff
lea eax, [ebp - 0x410]
push 0x400
push 0
push eax
setne byte [ebp - 0x90c]
call fcn.00486070
push 0x400
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.00486070
add esp, 0x18
mov dword [ebp - 0x82c], 0xf
mov dword [ebp - 0x830], 0
mov byte [ebp - 0x840], 0
mov dword [ebp - 0x85c], 0xf
mov dword [ebp - 0x860], 0
mov byte [ebp - 0x870], 0
mov dword [ebp - 0x878], 0xf
mov dword [ebp - 0x87c], 0
mov byte [ebp - 0x88c], 0
mov byte [ebp - 4], 9
lea edx, [ebp + 8]
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp - 0x410]
cmovae edx, dword [ebp + 8]
xor esi, esi
mov al, byte [edx]
test al, al
je 0x40f7ce
cmp al, 0x61
jl 0x40f7b0
cmp al, 0x7a
jle 0x40f7ba
cmp al, 0x41
jl 0x40f7ba
cmp al, 0x5a
jg 0x40f7ba
add al, 0x20
mov byte [ecx], al
inc esi
inc ecx
cmp esi, 0x400
jg 0x40f7ce
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x40f7a8
push 0xc
mov byte [ecx], 0
call fcn.0048258e
add esp, 4
mov edi, eax
mov dword [ebp - 0x8cc], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
push 0
push 0
mov dword [ebp - 0x904], 0
mov dword [ebp - 0x900], 0
mov dword [ebp - 0x8fc], 0
call fcn.00412f40
mov dword [ebp - 0x900], eax
mov dword [ebp - 0x8f8], 0
mov dword [ebp - 0x8f4], 0
mov dword [ebp - 0x8f0], 0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x904]
push 8
mov dword [ebp - 0x904], 0x3f800000
call fcn.004125a0
mov byte [ebp - 4], 0xc
test bh, bh
je 0x40f871
cmp byte [ebp - 0x8c6], bl
jne 0x40ff15
push 0xc
call fcn.0048258e
mov esi, eax
lea eax, [ebp + 8]
mov dword [ebp - 0x8dc], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
cmp dword [ebp + 0x1c], 0x10
cmovae eax, dword [ebp + 8]
push eax
push str.Start_Search_keyword:_s_In_System_Dir_n
call fcn.0042b8f0
add esp, 0xc
lea edx, [ebp + 8]
lea ecx, [ebp - 0x8bc]
call fcn.0042a6c0
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x8a4]
call fcn.0042bcc0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x8a8]
cmp eax, 8
jb 0x40f8ee
inc eax
lea ecx, [ebp - 0x8bc]
push eax
push dword [ebp - 0x8bc]
call fcn.0040e480
xor eax, eax
mov dword [ebp - 0x8a8], 7
push 0x4c8ec8
lea ecx, [ebp - 0x8a4]
mov dword [ebp - 0x8ac], 0
mov word [ebp - 0x8bc], ax
call fcn.00412eb0
test eax, eax
je 0x40f9a9
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.00486070
add esp, 0xc
lea edx, [ebp - 0x8a4]
lea ecx, [ebp - 0x858]
call fcn.0042a5a0
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x40f954
mov edx, dword [edx]
mov al, byte [edx]
lea ecx, [ebp - 0x410]
xor esi, esi
test al, al
je 0x40f988
cmp al, 0x61
jl 0x40f96a
cmp al, 0x7a
jle 0x40f974
cmp al, 0x41
jl 0x40f974
cmp al, 0x5a
jg 0x40f974
add al, 0x20
mov byte [ecx], al
inc esi
inc ecx
cmp esi, 0x400
jg 0x40f988
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x40f962
mov eax, dword [ebp - 0x844]
mov byte [ecx], 0
cmp eax, 0x10
jb 0x40f9a9
inc eax
lea ecx, [ebp - 0x858]
push eax
push dword [ebp - 0x858]
call fcn.00402bb0
mov ebx, dword [ebp - 0x8e4]
xor ecx, ecx
mov dword [ebp - 0x8e0], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebx + 0x20]
sub ecx, dword [ebx + 0x1c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40fd7d
xor esi, esi
mov dword [ebp - 0x908], esi
nop dword [eax]
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax]
call eax
test al, al
jne 0x40fe35
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x840]
add eax, esi
cmp ecx, eax
je 0x40fa09
push 0xffffffffffffffff
push 0
push eax
call fcn.00402780
lea edx, [ebp - 0x840]
lea ecx, [ebp - 0x858]
call fcn.0042b520
mov esi, eax
lea eax, [ebp - 0x870]
cmp eax, esi
je 0x40fa6b
mov eax, dword [ebp - 0x85c]
cmp eax, 0x10
jb 0x40fa44
inc eax
lea ecx, [ebp - 0x870]
push eax
push dword [ebp - 0x870]
call fcn.00402bb0
push esi
lea ecx, [ebp - 0x870]
mov dword [ebp - 0x85c], 0xf
mov dword [ebp - 0x860], 0
mov byte [ebp - 0x870], 0
call fcn.00402ae0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x844]
cmp eax, 0x10
jb 0x40fa8d
inc eax
lea ecx, [ebp - 0x858]
push eax
push dword [ebp - 0x858]
call fcn.00402bb0
cmp dword [ebp - 0x85c], 0x10
lea edx, [ebp - 0x870]
lea ecx, [ebp - 0x810]
cmovae edx, dword [ebp - 0x870]
xor esi, esi
mov al, byte [edx]
test al, al
je 0x40fad6
nop
cmp al, 0x61
jl 0x40fab8
cmp al, 0x7a
jle 0x40fac2
cmp al, 0x41
jl 0x40fac2
cmp al, 0x5a
jg 0x40fac2
add al, 0x20
mov byte [ecx], al
inc esi
inc ecx
cmp esi, 0x400
jg 0x40fad6
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x40fab0
cmp byte [ebp - 0x90c], 0
mov byte [ecx], 0
je 0x40fafa
lea edx, [ebp - 0x810]
lea ecx, [ebp - 0x410]
call fcn.0040e9a0
test eax, eax
sete al
jmp 0x40fb15
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x810]
push eax
call fcn.00485380
add esp, 8
test eax, eax
setne al
test al, al
je 0x40fd45
cmp byte [ebp - 0x8c5], 0
je 0x40fb60
cmp dword [ebp - 0x814], 0x10
lea ecx, [ebp - 0x828]
lea eax, [ebp - 0x840]
cmovae ecx, dword [ebp - 0x828]
cmp dword [ebp - 0x82c], 0x10
push ecx
cmovae eax, dword [ebp - 0x840]
push eax
call fcn.00485380
add esp, 8
test eax, eax
je 0x40fd45
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x910]
push eax
lea ecx, [ebp - 0x904]
call fcn.00412130
mov esi, dword [ebp - 0x900]
cmp dword [ebp - 0x910], esi
jne 0x40fd45
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x914]
push eax
lea ecx, [ebp - 0x904]
call fcn.00412130
mov eax, dword [ebp - 0x914]
cmp eax, esi
jne 0x40fc1c
mov esi, dword [esi]
lea eax, [ebp - 0x840]
push ecx
mov dword [ebp - 0x8c4], eax
lea eax, [ebp - 0x8c4]
push eax
push ecx
push dword [esi + 4]
push esi
call fcn.00414600
mov ecx, dword [ebp - 0x8fc]
mov edx, eax
mov eax, 0x71c71c6
sub eax, ecx
cmp eax, 1
jb 0x40fe2b
inc ecx
mov dword [ebp - 0x8fc], ecx
lea ecx, [ebp - 0x904]
mov dword [esi + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [ebp - 0x900]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x91c]
push eax
call fcn.004131b0
mov eax, dword [ebp - 0x91c]
jmp 0x40fc29
mov dword [ebp - 0x91c], eax
mov byte [ebp - 0x918], 0
push 0xffffffffffffffff
mov byte [eax + 0x20], 1
lea ecx, [ebp - 0x88c]
push 0
lea eax, [ebp - 0x840]
push eax
call fcn.00402780
mov eax, dword [ebp - 0x860]
sub eax, dword [ebp + 0x18]
cmp dword [ebp - 0x82c], 0x10
mov word [ebp - 0x874], ax
lea eax, [ebp - 0x840]
cmovae eax, dword [ebp - 0x840]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x40fc77
xor al, al
jmp 0x40fc7c
shr al, 4
and al, 1
mov byte [ebp - 0x872], al
mov ecx, edi
lea eax, [ebp - 0x88c]
push eax
call fcn.00411fd0
sub esp, 0x18
lea edx, [ebp - 0x840]
mov ecx, esp
call fcn.0042b750
lea ecx, [ebp - 0x858]
call fcn.0042a8d0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x858]
mov esi, dword [ebp - 0x844]
cmp esi, 0x10
mov edi, dword [ebp - 0x858]
mov edx, dword [ebp - 0x848]
cmovae ecx, edi
push 3
push 0x4c8d14
call fcn.004025b0
add esp, 0x20
test eax, eax
je 0x40fd08
mov edx, 0x4c8d18
lea ecx, [ebp - 0x858]
call fcn.004030f0
test al, al
jne 0x40fd08
mov edx, 0x4c8d1c
lea ecx, [ebp - 0x858]
call fcn.004030f0
test al, al
je 0x40fd26
mov ecx, dword [ebp - 0x8dc]
lea eax, [ebp - 0x88c]
push eax
call fcn.00411fd0
mov esi, dword [ebp - 0x844]
mov edi, dword [ebp - 0x858]
mov byte [ebp - 4], 0xf
cmp esi, 0x10
jb 0x40fd3f
lea eax, [esi + 1]
push eax
push edi
lea ecx, [ebp - 0x858]
call fcn.00402bb0
mov edi, dword [ebp - 0x8cc]
mov ecx, dword [ebx + 0x20]
mov eax, 0x2aaaaaab
sub ecx, dword [ebx + 0x1c]
mov esi, dword [ebp - 0x908]
inc dword [ebp - 0x8e0]
add esi, 0x18
imul ecx
mov dword [ebp - 0x908], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x8e0], eax
jb 0x40f9e0
mov edi, dword [ebp - 0x8dc]
mov eax, 0x92492493
mov esi, dword [edi + 4]
mov ecx, dword [edi]
sub esi, ecx
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40fed0
mov al, byte [ebp - 0x8c0]
mov esi, dword [edi + 4]
mov edi, esi
mov byte [ebp - 0x8c0], al
sub edi, ecx
lea eax, [ebp - 0x8c0]
push eax
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
push eax
call fcn.00412f70
mov edi, dword [ebp - 0x8dc]
mov eax, 0x92492493
add esp, 8
mov ecx, dword [edi + 4]
mov esi, dword [edi]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xa
jbe 0x40febd
mov ecx, dword [edi + 4]
lea eax, [esi + 0x118]
cmp eax, esi
jne 0x40fe88
push dword [ebp - 0x8c4]
mov edx, ecx
push ecx
mov ecx, esi
call fcn.00412da0
mov eax, dword [edi]
mov dword [edi + 4], eax
jmp 0x40feba
push str.list_T__too_long
call fcn.00433cef
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str.Cancel_Search_keyword:_s_n
call fcn.0042b8f0
mov ecx, dword [ebp - 0x8dc]
add esp, 4
call fcn.00410320
push ecx
mov ecx, edi
call fcn.00410320
mov eax, dword [ebp - 0x890]
cmp eax, 8
jb 0x4100f2
inc eax
lea ecx, [ebp - 0x8a4]
push eax
push dword [ebp - 0x8a4]
call fcn.0040e480
jmp 0x4100f2
cmp eax, ecx
je 0x40febd
mov byte [ebp - 0x8c4], 0
mov edx, ecx
push dword [ebp - 0x8c4]
push eax
call fcn.00412cf0
mov edx, dword [edi + 4]
add esp, 8
mov esi, eax
push dword [ebp - 0x8c4]
push ecx
mov ecx, esi
call fcn.00412da0
mov dword [edi + 4], esi
add esp, 8
push 0
push edi
push 0x4fb
push dword [ebx + 0x44]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x40fed8
push ecx
mov ecx, edi
call fcn.00410320
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str.End_Search_keyword:_s_In_System_Dir_n
call fcn.0042b8f0
mov byte [ebp - 4], 0xc
add esp, 8
mov eax, dword [ebp - 0x890]
cmp eax, 8
jb 0x40ff1b
inc eax
lea ecx, [ebp - 0x8a4]
push eax
push dword [ebp - 0x8a4]
call fcn.0040e480
jmp 0x40ff1b
mov ebx, dword [ebp - 0x8e4]
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str.Start_Search_keyword:_s_n
call fcn.0042b8f0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 8
call edi
mov dword [ebp - 0x8c4], eax
xor esi, esi
mov eax, dword [ebx + 8]
sub eax, dword [ebx + 4]
sar eax, 2
test eax, eax
je 0x40ffc3
mov edi, dword [ebp - 0x90c]
cmp byte [ebp - 0x8c5], 0
je 0x40ff7f
mov eax, dword [ebx + 4]
mov eax, dword [eax + esi*4]
mov al, byte [eax]
movsx eax, al
push eax
call fcn.0048bbb5
movsx ecx, byte [ebp - 0x8c6]
add esp, 4
cmp ecx, eax
jne 0x40ffaf
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x828]
push eax
lea eax, [ebp - 0x904]
push eax
push dword [ebp - 0x8cc]
mov ecx, dword [ecx + esi*4]
lea eax, [ebp + 8]
push edi
push eax
call fcn.00410b50
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax]
call eax
test al, al
jne 0x40ffcf
mov eax, dword [ebx + 8]
inc esi
sub eax, dword [ebx + 4]
sar eax, 2
cmp esi, eax
jb 0x40ff57
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax]
call eax
test al, al
je 0x41004b
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str.Cancel_Search_keyword:_s_n
call fcn.0042b8f0
mov ebx, dword [ebp - 0x8cc]
add esp, 8
mov ecx, dword [ebx]
test ecx, ecx
je 0x41003b
push dword [ebp - 0x8c4]
mov edx, dword [ebx + 4]
push ecx
call fcn.00412da0
mov esi, dword [ebx]
mov eax, 0x92492493
mov ecx, dword [ebx + 8]
add esp, 8
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00412900
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
push 0xc
push ebx
call fcn.00482580
add esp, 8
jmp 0x4100f2
call edi
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp + 8]
mov ebx, eax
cmovae ecx, dword [ebp + 8]
push ecx
push str.End_Search_keyword:_s_n
call fcn.0042b8f0
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str.Start_Sort_ResultList_keyword:_s_n
call fcn.0042b8f0
mov eax, dword [ebp - 0x8cc]
mov esi, dword [eax + 4]
mov edi, esi
mov ecx, dword [eax]
sub edi, ecx
mov al, byte [ebp - 0x8c0]
mov byte [ebp - 0x8c0], al
lea eax, [ebp - 0x8c0]
push eax
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
push eax
call fcn.00412f70
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str.End_Sort_ResultList_keyword:_s_n
call fcn.0042b8f0
sub ebx, dword [ebp - 0x8c4]
add esp, 0x20
mov edi, dword [ebp - 0x8e4]
push ebx
push dword [ebp - 0x8cc]
push 0x4fa
push dword [edi + 0x44]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0x8f8]
test ecx, ecx
je 0x41012c
mov eax, dword [ebp - 0x8f0]
sub eax, ecx
sar eax, 2
push eax
push ecx
call fcn.00402b50
mov dword [ebp - 0x8f8], 0
mov dword [ebp - 0x8f0], 0
mov dword [ebp - 0x8f4], 0
lea ecx, [ebp - 0x900]
call fcn.00412830
push dword [ebp - 0x900]
call fcn.00469d21
mov eax, dword [ebp - 0x878]
add esp, 4
cmp eax, 0x10
jb 0x410163
inc eax
lea ecx, [ebp - 0x88c]
push eax
push dword [ebp - 0x88c]
call fcn.00402bb0
mov eax, dword [ebp - 0x85c]
mov byte [ebp - 0x88c], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 0xf
cmp eax, 0x10
jb 0x41019c
inc eax
lea ecx, [ebp - 0x870]
push eax
push dword [ebp - 0x870]
call fcn.00402bb0
mov eax, dword [ebp - 0x82c]
mov byte [ebp - 0x870], 0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x85c], 0xf
cmp eax, 0x10
jb 0x4101d5
inc eax
lea ecx, [ebp - 0x840]
push eax
push dword [ebp - 0x840]
call fcn.00402bb0
mov ecx, dword [ebp - 0x8d8]
mov byte [ebp - 0x840], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0xf
test ecx, ecx
je 0x410253
push dword [ebp - 0x8c4]
mov edx, dword [ebp - 0x8d4]
push ecx
call fcn.0040c580
mov esi, dword [ebp - 0x8d8]
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x8d0]
add esp, 8
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.0040c290
mov dword [ebp - 0x8d8], 0
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8d4], 0
mov eax, dword [ebp - 0x814]
cmp eax, 0x10
jb 0x410271
inc eax
lea ecx, [ebp - 0x828]
push eax
push dword [ebp - 0x828]
call fcn.00402bb0
mov esi, dword [ebp + 0x1c]
mov byte [ebp - 0x828], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x814], 0xf
cmp esi, 0x10
jb 0x4102a3
lea eax, [esi + 1]
push eax
push dword [ebp + 8]
lea ecx, [ebp + 8]
call fcn.00402bb0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048254c
mov esp, ebp
pop ebp
ret 0x18