Function at 0x418bd0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46377a
mov eax, dword fs:[0]
push eax
sub esp, 0x4d8
mov eax, dword [0x4826d4]
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 ebx, ecx
xor esi, esi
mov dword [ebp - 0x480], esi
mov dword [ebp - 0x488], esi
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
lea eax, [ebp - 0x490]
push eax
call fcn.004332f0
add esp, 8
or edi, 0xffffffff
mov dword [ebp - 4], esi
cmp dword [ebx + 0xc0], esi
jne 0x419455
lea eax, [ebp - 0x4a4]
push esi
push eax
call fcn.0040f5b0
mov eax, 0x5c
mov dword [ebp - 0x18], esi
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], esi
push str.Languages.ini
push dword [ebp - 0x4a4]
lea eax, [ebp - 0x494]
mov byte [ebp - 4], 2
push eax
call fcn.0040f3c0
add esp, 0x14
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 3
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x14], esi
test ecx, ecx
je 0x418c9a
cmp ecx, edi
je 0x418c9a
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x18], esi
test eax, eax
jne 0x418cab
mov eax, 0x468428
mov dword [ebp - 0x484], eax
jmp 0x418cce
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x104
jl 0x418cc8
mov dword [ebp - 0x47c], 0
jmp 0x418dc9
mov eax, dword [ebp - 0x484]
push eax
lea eax, [ebp - 0x448]
push 0x104
push eax
call fcn.0044a866
push eax
call fcn.00402410
add esp, 0x10
lea eax, [ebp - 0x474]
push eax
push dword [ebp - 0x484]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
jne 0x418d13
mov dword [ebp - 0x47c], 0
jmp 0x418dc9
push 0
lea eax, [ebp - 0x224]
push eax
push 0x104
push dword [ebp - 0x484]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
jne 0x418d62
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x418d4e
cmp eax, 0xffffffff
je 0x418d4e
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x18], 0
push 0x7b
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x47c], 0
jmp 0x418dc9
lea eax, [ebp - 0x224]
push 0x5c
push eax
call fcn.00447171
mov dword [ebp - 0x48c], eax
lea eax, [ebp - 0x224]
push 0x2f
push eax
call fcn.00447171
mov edx, dword [ebp - 0x48c]
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x418d9d
test edx, edx
je 0x418db8
lea ecx, [ebp - 0x224]
test edx, edx
lea eax, [ebp - 0x224]
cmovne eax, edx
cmp ecx, eax
jb 0x418db3
xor eax, eax
mov word [ecx], ax
jmp 0x418db8
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x47c], 1
mov edx, dword [ebp - 0x494]
mov eax, edi
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418dea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x47c], 0
je 0x419413
lea ecx, [ebp - 0x4e4]
mov dword [ebp - 0x494], 0x46867c
call fcn.00412ee0
mov byte [ebp - 4], 4
cmp dword [ebp - 0x14], 0
je 0x418e28
mov eax, dword [ebp - 0x474]
shr eax, 4
and eax, 1
jne 0x4193e2
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x474]
call fcn.00415660
lea ecx, [ebp - 0x4e4]
mov byte [ebp - 4], 5
push ecx
push dword [eax]
lea ecx, [ebp - 0x494]
call fcn.004178b0
mov edx, dword [ebp - 0x47c]
test al, al
mov byte [ebp - 4], 4
mov eax, edi
sete byte [ebp - 0x475]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418e7c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x475], 0
jne 0x4193e2
lea ecx, [ebp - 0x4a0]
call fcn.00412e40
lea eax, [ebp - 0x484]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x474]
call fcn.004155b0
push eax
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 7
call fcn.004019b0
mov edx, dword [ebp - 0x484]
mov eax, edi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418edb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.Name
push str.INFO
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x4e4]
call fcn.004169e0
push eax
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 8
call fcn.004019b0
mov edx, dword [ebp - 0x4b4]
mov eax, edi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418f28
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.Code
push str.INFO
lea eax, [ebp - 0x4b8]
push eax
lea ecx, [ebp - 0x4e4]
call fcn.004169e0
push eax
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 9
call fcn.004019b0
mov edx, dword [ebp - 0x4b8]
mov eax, edi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418f75
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x4a0]
cmp dword [eax - 0xc], 0
je 0x4193d3
mov eax, dword [ebp - 0x49c]
cmp dword [eax - 0xc], 0
je 0x4193d3
mov eax, dword [ebp - 0x490]
mov eax, dword [eax - 0xc]
test eax, eax
jle 0x418fec
push eax
lea eax, [ebp - 0x4bc]
push eax
lea ecx, [ebp - 0x49c]
call fcn.0040fb50
mov ecx, dword [ebp - 0x490]
or esi, 1
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x480], esi
mov dword [ebp - 0x488], esi
test ecx, ecx
je 0x419967
push ecx
push dword [eax]
call fcn.0044a9a2
add esp, 8
mov byte [ebp - 0x475], 1
test eax, eax
je 0x418ff3
mov byte [ebp - 0x475], 0
mov eax, dword [ebp - 0x480]
mov dword [ebp - 4], 6
test al, 1
je 0x41902a
mov edx, dword [ebp - 0x4bc]
and eax, 0xfffffffe
mov dword [ebp - 0x480], eax
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41902a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x475], 0
je 0x41904e
push 1
lea eax, [ebp - 0x4a0]
push eax
push 0
lea ecx, [ebx + 0xbc]
call fcn.00416de0
jmp 0x4193b9
push 2
lea eax, [ebp - 0x4c0]
push eax
lea ecx, [ebp - 0x49c]
call fcn.0040fb50
push 0x468420
push dword [eax]
call fcn.0044a9a2
mov edx, dword [ebp - 0x4c0]
add esp, 8
test eax, eax
mov byte [ebp - 4], 6
mov eax, edi
sete byte [ebp - 0x475]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41909b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x475], 0
je 0x41919a
mov eax, dword [ebx + 0xc0]
xor esi, esi
test eax, eax
je 0x419180
xor edi, edi
cmp esi, eax
jae 0x419971
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebx + 0xbc]
add ecx, 4
mov eax, dword [eax - 0xc]
test eax, eax
jle 0x419126
push eax
lea eax, [ebp - 0x4c4]
add ecx, edi
push eax
call fcn.0040fb50
mov edx, eax
mov eax, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x490]
or eax, 2
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x488], eax
test ecx, ecx
je 0x419967
push ecx
push dword [edx]
call fcn.0044a9a2
add esp, 8
mov byte [ebp - 0x475], 1
test eax, eax
je 0x41912d
mov byte [ebp - 0x475], 0
mov eax, dword [ebp - 0x480]
mov dword [ebp - 4], 6
test al, 2
je 0x419165
mov edx, dword [ebp - 0x4c4]
and eax, 0xfffffffd
mov dword [ebp - 0x480], eax
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x419165
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x475], 0
je 0x419180
mov eax, dword [ebx + 0xc0]
inc esi
add edi, 0xc
cmp esi, eax
jb 0x4190c2
push 1
lea eax, [ebp - 0x4a0]
push eax
push esi
lea ecx, [ebx + 0xbc]
call fcn.00416de0
jmp 0x4193b9
push 2
lea eax, [ebp - 0x4ac]
push eax
lea ecx, [ebp - 0x49c]
call fcn.0040fb50
push 0x468418
push dword [eax]
call fcn.0044a9a2
add esp, 8
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4ac]
mov esi, eax
call fcn.00401720
test esi, esi
jne 0x419323
xor edi, edi
cmp dword [ebx + 0xc0], edi
jbe 0x419309
xor eax, eax
mov dword [ebp - 0x48c], eax
cmp edi, dword [ebx + 0xc0]
jae 0x419971
mov esi, dword [ebx + 0xbc]
add esi, eax
mov eax, dword [ebp - 0x490]
add esi, 4
mov eax, dword [eax - 0xc]
test eax, eax
jle 0x419250
push eax
lea eax, [ebp - 0x4b0]
mov ecx, esi
push eax
call fcn.0040fb50
mov ecx, dword [ebp - 0x480]
push dword [ebp - 0x490]
or ecx, 4
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x488], ecx
mov ecx, eax
call fcn.00414ea0
mov byte [ebp - 0x475], 1
test eax, eax
je 0x419257
mov byte [ebp - 0x475], 0
mov eax, dword [ebp - 0x480]
mov ecx, esi
mov dword [ebp - 4], 6
test al, 4
je 0x419293
mov edx, dword [ebp - 0x4b0]
and eax, 0xfffffffb
mov dword [ebp - 0x480], eax
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x419293
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, esi
cmp byte [ebp - 0x475], 0
jne 0x4192ed
push 2
lea eax, [ebp - 0x4a8]
push eax
call fcn.0040fb50
push 0x468420
push dword [eax]
call fcn.0044a9a2
mov edx, dword [ebp - 0x4a8]
add esp, 8
test eax, eax
mov byte [ebp - 4], 6
sete byte [ebp - 0x475]
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4192e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x475], 0
je 0x419309
mov eax, dword [ebp - 0x48c]
inc edi
add eax, 0xc
mov dword [ebp - 0x48c], eax
cmp edi, dword [ebx + 0xc0]
jb 0x4191f8
push 1
lea eax, [ebp - 0x4a0]
push eax
push edi
lea ecx, [ebx + 0xbc]
call fcn.00416de0
jmp 0x4193b9
mov edi, dword [ebx + 0xc0]
cmp edi, dword [ebx + 0xc4]
jb 0x419348
lea eax, [edi + 1]
push eax
lea ecx, [ebx + 0xbc]
call fcn.00416d40
test al, al
je 0x41997b
mov eax, dword [ebx + 0xbc]
lea ecx, [edi + edi*2]
lea edi, [eax + ecx*4]
mov eax, dword [ebp - 0x4a0]
add eax, 0xfffffff0
mov dword [ebp - 0x48c], edi
push eax
call fcn.00402c90
add eax, 0x10
mov dword [edi], eax
lea esi, [edi + 4]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x488], esi
mov eax, dword [ebp - 0x49c]
add eax, 0xfffffff0
push eax
call fcn.00402c90
add eax, 0x10
mov dword [esi], eax
lea esi, [edi + 8]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x488], esi
mov eax, dword [ebp - 0x498]
add eax, 0xfffffff0
push eax
call fcn.00402c90
add eax, 0x10
add esp, 0xc
mov dword [esi], eax
inc dword [ebx + 0xc0]
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 4
call fcn.00413d70
mov esi, dword [ebp - 0x480]
or edi, 0xffffffff
jmp 0x4193e2
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 4
call fcn.00413d70
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x419408
cmp dword [ebp - 0x14], 0
je 0x419408
lea ecx, [ebp - 0x474]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x418e10
lea ecx, [ebp - 0x4e4]
call fcn.00413600
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0
test eax, eax
je 0x419434
cmp eax, 0xffffffff
je 0x419434
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x4a4]
mov eax, edi
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x419455
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx + 0x48]
sub eax, 0x10
push eax
call fcn.00402c90
add esp, 4
lea edi, [eax + 0x10]
mov dword [ebp - 0x484], edi
cmp dword [edi - 0xc], 0
mov byte [ebp - 4], 0x12
jne 0x4194a9
mov eax, dword [ebp - 0x490]
lea ecx, [ebp - 0x484]
cmp dword [eax - 0xc], 0
jne 0x419497
push 2
push 0x468418
call fcn.00406dd0
jmp 0x4194a3
lea eax, [ebp - 0x490]
push eax
call fcn.004019b0
mov edi, dword [ebp - 0x484]
mov ecx, dword [ebx + 0xc0]
xor eax, eax
mov dword [ebp - 0x47c], eax
test ecx, ecx
je 0x419569
xor ecx, ecx
lea edx, [ebx + 0xbc]
mov dword [ebp - 0x488], ecx
nop dword [eax]
cmp eax, dword [edx + 4]
jae 0x419971
mov eax, dword [edx]
add eax, ecx
mov dword [ebp - 0x4a8], eax
test edi, edi
je 0x419967
push edi
push dword [eax + 4]
call fcn.0044a9a2
add esp, 8
test eax, eax
jne 0x419535
push dword [ebp - 0x4a8]
mov ecx, ebx
call fcn.00417ba0
test al, al
jne 0x41990b
push 1
push dword [ebp - 0x47c]
lea ecx, [ebx + 0xbc]
call fcn.00418040
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x488]
dec eax
sub ecx, 0xc
jmp 0x419541
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x488]
inc eax
lea edx, [ebx + 0xbc]
add ecx, 0xc
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x488], ecx
cmp eax, dword [ebx + 0xc0]
jb 0x4194d0
mov ecx, dword [ebx + 0xc0]
xor eax, eax
mov dword [ebp - 0x4a4], eax
test ecx, ecx
je 0x41985a
xor ecx, ecx
mov dword [ebp - 0x48c], 1
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x488], 0xc
nop word [eax + eax]
mov dword [ebp - 0x480], esi
cmp eax, dword [ebx + 0xc0]
jae 0x419971
mov eax, dword [ebx + 0xbc]
add eax, ecx
cmp dword [edi - 0xc], 2
mov dword [ebp - 0x494], eax
jg 0x4195dd
add edi, 0xfffffff0
push edi
call fcn.00402c90
add esp, 4
lea esi, [eax + 0x10]
mov dword [ebp - 0x4a8], esi
jmp 0x419641
mov ecx, dword [edi - 0x10]
test ecx, ecx
je 0x4195ed
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
jne 0x419601
call fcn.00403330
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
test eax, eax
je 0x419967
mov edx, dword [eax]
mov ecx, eax
push 2
push 2
call dword [edx]
test eax, eax
je 0x419985
cmp dword [eax + 8], 2
lea esi, [eax + 0x10]
mov dword [ebp - 0x4a8], esi
jl 0x419971
push 4
push edi
xor eax, eax
mov dword [esi - 0xc], 2
push 4
push esi
mov word [esi + 4], ax
call fcn.00407fe0
add esp, 0x10
mov edi, dword [ebp - 0x494]
mov byte [ebp - 4], 0x13
mov eax, dword [edi + 4]
cmp dword [eax - 0xc], 2
jg 0x41966b
add eax, 0xfffffff0
push eax
call fcn.00402c90
add esp, 4
lea edi, [eax + 0x10]
mov dword [ebp - 0x4b0], edi
jmp 0x4196e7
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x41967d
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x41968b
call fcn.00403330
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x4ac], eax
test ecx, ecx
je 0x419967
test eax, eax
je 0x419971
mov eax, dword [ecx]
push 2
push 2
call dword [eax]
test eax, eax
je 0x419985
cmp dword [eax + 8], 2
lea edi, [eax + 0x10]
mov dword [ebp - 0x4b0], edi
jl 0x419971
push 4
push dword [ebp - 0x4ac]
xor eax, eax
mov dword [edi - 0xc], 2
push 4
push edi
mov word [edi + 4], ax
call fcn.00407fe0
add esp, 0x10
or dword [ebp - 0x480], 0x30
mov byte [ebp - 4], 0x14
test esi, esi
je 0x419967
push esi
push edi
call fcn.0044a9a2
add esp, 8
mov byte [ebp - 4], 0x13
test eax, eax
lea edx, [edi - 0x10]
sete byte [ebp - 0x475]
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41972b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x12
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x419746
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x475], 0
je 0x419809
push dword [ebp - 0x494]
mov ecx, ebx
call fcn.00417ba0
test al, al
jne 0x419905
mov esi, dword [ebp - 0x48c]
cmp esi, dword [ebp - 0x4a4]
jb 0x419971
cmp esi, 1
jb 0x419971
mov eax, dword [ebx + 0xc0]
cmp esi, eax
ja 0x419971
sub eax, esi
mov dword [ebp - 0x494], eax
mov eax, dword [ebx + 0xbc]
add eax, dword [ebp - 0x47c]
push 1
push eax
call fcn.00414e30
add esp, 8
cmp dword [ebp - 0x494], 0
jbe 0x4197e7
mov eax, dword [ebx + 0xbc]
mov ecx, dword [ebp - 0x488]
mov edx, dword [ebp - 0x47c]
add ecx, eax
add edx, eax
mov eax, dword [ebp - 0x494]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push ecx
push eax
push edx
call fcn.00407f20
add esp, 0x10
mov eax, dword [ebp - 0x4a4]
dec esi
mov edx, dword [ebp - 0x488]
dec eax
mov ecx, dword [ebp - 0x47c]
sub edx, 0xc
dec dword [ebx + 0xc0]
sub ecx, 0xc
jmp 0x419821
mov esi, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [ebp - 0x47c]
mov edx, dword [ebp - 0x488]
inc eax
inc esi
add edx, 0xc
mov dword [ebp - 0x4a4], eax
add ecx, 0xc
mov dword [ebp - 0x48c], esi
mov dword [ebp - 0x488], edx
mov dword [ebp - 0x47c], ecx
cmp eax, dword [ebx + 0xc0]
jae 0x41985d
mov edi, dword [ebp - 0x484]
mov esi, dword [ebp - 0x480]
jmp 0x4195a0
or edi, 0xffffffff
lea ecx, [ebp - 0x4a0]
call fcn.00412e40
push 0x468ab0
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 0x15
call fcn.00414060
push str.English
lea ecx, [ebp - 0x4a0]
call fcn.00414060
push 0x468ab4
lea ecx, [ebp - 0x498]
call fcn.00414060
lea eax, [ebp - 0x4a0]
mov ecx, ebx
push eax
call fcn.00417ba0
mov edx, dword [ebp - 0x498]
mov eax, edi
mov byte [ebp - 4], 0x12
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4198cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x49c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4198e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4a0]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x419905
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x484]
or ebx, 0xffffffff
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x419929
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x490]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x41994b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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.00444abb
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004024f0
push 0x80070057
call fcn.004024f0
push 0x8007000e
call fcn.004024f0
call fcn.00407190
int3