Function at 0x401bc0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x447153
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0xaf3f4
call fcn.00434670
mov eax, dword [0x45b8b4]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0xaf3b0], esi
mov dword [ebp - 4], 1
call fcn.0041623a
xor ecx, ecx
xor edi, edi
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x401c21
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf378], eax
mov byte [ebp - 4], 2
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
push eax
call fcn.00403f60
add eax, 0x10
add esp, 4
mov dword [ebp - 0xaf388], eax
push 0x44e690
push 0x44e694
lea ecx, [ebp - 0xaf388]
push ecx
mov byte [ebp - 4], 3
call fcn.00403000
mov byte [ebp - 0xaf371], 0
mov dword [ebp - 0xaf394], edi
mov dword [ebp - 0xaf37c], edi
call fcn.0041623a
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x401c96
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf3a4], eax
call fcn.0041623a
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x401cc2
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf3a0], eax
mov byte [ebp - 4], 4
call fcn.0041623a
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x401cf2
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf390], eax
mov byte [ebp - 4], 5
call fcn.0041623a
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x401d22
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf38c], eax
mov byte [ebp - 4], 6
call fcn.0041623a
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x401d52
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf3ac], eax
mov byte [ebp - 4], 7
mov dword [ebp - 0xaf36c], edi
mov dword [ebp - 0xaf368], edi
mov dword [ebp - 0xaf364], edi
mov dword [ebp - 0xaf360], edi
mov dword [ebp - 0xaf35c], edi
mov dword [ebp - 0xaf358], edi
mov dword [ebp - 0xaf244], edi
mov dword [ebp - 0xaf240], edi
mov dword [ebp - 0xaf23c], edi
mov dword [ebp - 0xaf238], edi
mov dword [ebp - 0xaf234], edi
mov dword [ebp - 0xaf230], edi
mov dword [esi + 0x80], edi
mov dword [ebp - method.CArray_struct_HWND_____struct_HWND____.virtual_0], vtable.CRegistryEx.0
call fcn.0041623a
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x401dda
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf3e8], eax
mov dword [ebp - 0xaf3ec], reloc.OLEAUT32.dll_SysReAllocString
push 0x44eac8
lea ecx, [ebp - 0xaf384]
mov byte [ebp - 4], 8
call fcn.004039f0
lea ecx, [ebp - 0xaf384]
push ecx
mov byte [ebp - 4], 9
call fcn.0040c100
mov ebx, eax
cmp ebx, 0xffffffff
je 0x401e7e
mov edx, dword [esi + 0x48]
push ebx
push edx
call fcn.0040ae70
cmp ebx, 2
jne 0x401e88
mov eax, dword [ebp - 0xaf384]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0xaf384]
add eax, 0xfffffff0
mov dword [ebp - 0xaf380], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 9
mov ebx, dword [esi + 0x48]
add esp, 4
call fcn.0040af50
jmp 0x401e88
mov eax, dword [esi + 0x48]
push edi
push eax
call fcn.0040ae70
mov eax, dword [ebp - 0xaf388]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov ebx, esp
push eax
lea edi, [ebp - 0xaf3a8]
call fcn.00403f60
add eax, 0x10
mov dword [ebx], eax
mov ecx, dword [esi + 0x48]
add esp, 4
push ecx
mov ecx, edi
call fcn.0040acd0
mov ebx, dword [ebp - 0xaf3a8]
push ebx
lea edx, [ebp - 0xaf378]
push str.PROXY_INFO:_connection_type____d
push edx
call fcn.00403d50
mov eax, dword [ebp - 0xaf378]
add esp, 8
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x4c]
add esp, 4
call fcn.00404170
mov eax, dword [ebp - 0xaf3a4]
push eax
lea ecx, [ebp - 0xaf378]
push str.PROXY_INFO:_proxy_server____s
push ecx
call fcn.00403d50
mov eax, dword [ebp - 0xaf378]
add esp, 8
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x4c]
add esp, 4
call fcn.00404170
mov edx, dword [ebp - 0xaf3a0]
push edx
lea eax, [ebp - 0xaf378]
push str.PROXY_INFO:_bypass_list____s
push eax
call fcn.00403d50
mov eax, dword [ebp - 0xaf378]
add esp, 8
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x4c]
add esp, 4
call fcn.00404170
push 0x14
mov byte [ebp - 4], 0xb
call fcn.0040cab3
mov ecx, eax
add esp, 4
mov dword [ebp - 0xaf370], ecx
test ecx, ecx
mov byte [ebp - 4], 0xc
je 0x401fc9
mov edx, dword [ebp - 0xaf3a0]
mov eax, dword [ebp - 0xaf3a4]
push 0
push edx
push eax
push ebx
push 1
push 0
call fcn.00414c9c
mov dword [ebp - 0xaf380], eax
mov dword [ebp - 4], 9
jmp 0x40209d
xor eax, eax
mov dword [ebp - 0xaf380], eax
mov dword [ebp - 4], 9
jmp 0x40209d
mov edi, dword [ebp - 0xaf380]
mov ebx, dword [ebp + 0x10]
push 0
push 4
lea ecx, [ebp - 0xaf370]
push ecx
push 2
mov ecx, edi
mov dword [ebp - 0xaf370], ebx
call fcn.00414527
push 0
push 4
lea edx, [ebp - 0xaf370]
push edx
push 8
mov ecx, edi
mov dword [ebp - 0xaf370], ebx
call fcn.00414527
push 0
push 4
lea eax, [ebp - 0xaf370]
push eax
push 3
mov ecx, edi
mov dword [ebp - 0xaf370], 3
call fcn.00414527
lea ecx, [ebp - 0xaf3b8]
push ecx
lea edx, [ebp - 0xaf38c]
push edx
mov edx, dword [ebp - 0xaf388]
lea eax, [ebp - 0xaf390]
push eax
lea ecx, [ebp - 0xaf3bc]
push ecx
push edx
call fcn.00415244
test eax, eax
jne 0x4022d7
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xaf384]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40214e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 4], 7
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0xaf3e8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40217f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xaf3ac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4021a5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xaf38c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4021cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xaf390]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4021f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xaf3a0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402217
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xaf3a4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402239
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xaf388]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40225f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xaf378]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402285
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4022a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402a3e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x402a3e
mov byte [ebp - 4], 0x10
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x70]
mov edx, dword [ebp - 0xaf390]
push eax
push ecx
mov ecx, dword [ebp - 0xaf3b8]
push ecx
push edx
mov ecx, edi
call fcn.0041566c
cmp dword [ebp - 0xaf3bc], 0x100b
mov ecx, eax
mov dword [ebp - 0xaf394], ecx
mov eax, 0x80400000
jne 0x402316
mov eax, 0x80c00000
push eax
mov eax, dword [ebp - 0xaf38c]
push 0
push 0
push 1
push 0
push eax
push 1
call fcn.00415723
mov edi, eax
push edi
push esi
mov dword [ebp - 0xaf37c], edi
call fcn.00402aa0
lea ecx, [ebp - 0xaf3b4]
push ecx
mov ecx, edi
call fcn.004145b0
mov eax, dword [ebp - 0xaf3b4]
cmp eax, 0xc8
jne 0x4026b2
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.00402cc0
mov edi, eax
mov ebx, edx
mov edx, edi
and edx, ebx
cmp edx, 0xffffffff
je 0x4026f6
mov ecx, dword [ebp - 0xaf37c]
lea eax, [ebp - 0xaf36c]
push eax
call fcn.00416bbb
mov ecx, dword [ebp - 0xaf37c]
call fcn.004039d0
mov ecx, edx
push ecx
push eax
mov dword [ebp - 0xaf398], ecx
lea ecx, [ebp - 0xaf378]
push str.Source_file_szie_:__d
push ecx
mov dword [ebp - 0xaf39c], eax
call fcn.00403d50
mov eax, dword [ebp - 0xaf378]
add esp, 0x10
push ecx
mov dword [ebp - 0xaf370], esp
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
push eax
call fcn.00403f60
mov edx, dword [ebp - 0xaf370]
add eax, 0x10
mov dword [edx], eax
mov ecx, dword [esi + 0x4c]
add esp, 4
call fcn.00404170
cmp dword [ebp - 0xaf39c], edi
jne 0x402417
cmp dword [ebp - 0xaf398], ebx
je 0x4026f6
mov ecx, dword [ebp - 0xaf37c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
push 0
push ebx
push edi
call edx
mov dword [ebp - 0xaf3c4], edi
mov edi, edi
mov ecx, dword [ebp - 0xaf37c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
push 0xaf000
lea edx, [ebp - 0xaf11c]
push edx
call eax
mov edi, eax
test edi, edi
je 0x4025b0
call fcn.0041623a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40246d
push 0x80004005
call fcn.00403720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xaf370], eax
push edi
lea ecx, [ebp - 0xaf370]
push str._LEN___d
push ecx
mov byte [ebp - 4], 0x11
call fcn.00403d50
mov edx, dword [ebp - 0xaf370]
add esp, 0xc
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
push edi
lea edx, [ebp - 0xaf11c]
push edx
call eax
add dword [ebp - 0xaf3c4], edi
mov edi, dword [esi + 0x44]
adc ebx, 0
test edi, edi
je 0x402581
cmp dword [edi + 0x20], 0
je 0x402581
mov ecx, dword [ebp - 0xaf3c4]
mov dword [ebp - 0xaf3dc], ecx
mov eax, ebx
mov ecx, ebx
and eax, 0x7fffffff
mov dword [ebp - 0xaf3d8], eax
mov eax, dword [ebp - 0xaf39c]
fild qword [ebp - 0xaf3dc]
and ecx, 0x80000000
xor edx, edx
mov dword [ebp - 0xaf3d0], ecx
mov dword [ebp - 0xaf3e4], eax
mov eax, dword [ebp - 0xaf398]
mov dword [ebp - 0xaf3d4], edx
fild qword [ebp - 0xaf3d4]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
fchs
mov dword [ebp - 0xaf3e0], eax
faddp st(1)
mov dword [ebp - 0xaf3c8], ecx
fild qword [ebp - 0xaf3e4]
mov dword [ebp - 0xaf3cc], edx
fild qword [ebp - 0xaf3cc]
fchs
faddp st(1)
fdivp st(1)
fmul qword [0x44fe28]
call fcn.004348c0
test edi, edi
je 0x402569
mov edi, dword [edi + 0x20]
mov edx, dword [esi + 0x54]
lea ecx, [esi + 0x50]
push ecx
push eax
push edx
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0xaf370]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402430
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x402430
lea ecx, [ebp - 0xaf244]
push ecx
mov ecx, dword [esi + 0x78]
call fcn.00416bbb
mov ecx, dword [esi + 0x78]
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x4025d9
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov eax, dword [ebp - 0xaf22c]
mov ecx, dword [ebp - 0xaf39c]
cmp ecx, eax
mov dword [esi + 0x78], 0
mov byte [ebp - 0xaf371], 1
jne 0x402605
mov edx, dword [ebp - 0xaf398]
cmp edx, dword [ebp - 0xaf228]
je 0x402658
mov edx, dword [ebp - 0xaf228]
push edx
push eax
mov eax, dword [ebp - 0xaf398]
push eax
push ecx
lea ecx, [ebp - 0xaf378]
push str._ERROR__File_szie_error._Src_:__l64d_Dest_:_l64d
push ecx
call fcn.00403d50
mov eax, dword [ebp - 0xaf378]
add esp, 0x18
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x4c]
add esp, 4
call fcn.00404170
mov byte [ebp - 0xaf371], 0
mov edx, dword [ebp - 0xaf35c]
mov eax, dword [ebp - 0xaf358]
mov ecx, dword [ebp - 0xaf36c]
mov dword [ebp - 0xaf234], edx
mov edx, dword [ebp - 0xaf368]
mov dword [ebp - 0xaf230], eax
mov eax, dword [ebp - 0xaf364]
mov dword [ebp - 0xaf240], edx
lea edx, [ebp - 0xaf244]
mov dword [ebp - 0xaf23c], eax
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0xaf244], ecx
mov ecx, dword [ebp - 0xaf360]
push edx
push eax
mov dword [ebp - 0xaf238], ecx
call fcn.00416a7e
jmp 0x4026f6
push eax
lea eax, [ebp - 0xaf378]
push str._ERROR__HTTP_Response_Status_Codes__d
push eax
call fcn.00403d50
mov eax, dword [ebp - 0xaf378]
add esp, 0xc
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xaf370], esp
mov edi, esp
push eax
call fcn.00403f60
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi + 0x4c]
add esp, 4
call fcn.00404170
mov byte [ebp - 0xaf371], 0
mov ecx, dword [esi + 0x78]
mov edi, dword [ebp - 0xaf37c]
xor ebx, ebx
cmp ecx, ebx
je 0x40271f
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
mov ecx, dword [esi + 0x78]
cmp ecx, ebx
je 0x40271c
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [esi + 0x78], ebx
cmp edi, ebx
je 0x40273d
mov edx, dword [edi]
mov eax, dword [edx + 0x4c]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0xaf37c], ebx
mov esi, dword [ebp - 0xaf394]
cmp esi, ebx
je 0x402761
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0xaf394], ebx
mov esi, dword [ebp - 0xaf380]
cmp esi, ebx
je 0x40277f
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
movzx esi, byte [ebp - 0xaf371]
mov dword [ebp - 4], 9
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xaf384]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4027b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xaf3ec]
cmp eax, ebx
je 0x4027c8
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0xaf3e8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4027ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xaf3ac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402810
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xaf38c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402836
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xaf390]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40285c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xaf3a0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402882
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xaf3a4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4028a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xaf388]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4028ca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xaf378]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4028f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402913
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402939
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
jmp 0x402a40
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0042e419
mov esp, ebp
pop ebp
ret 0xc