Function at 0x412200
Capabilities:
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ae944
mov eax, dword fs:[0]
push eax
sub esp, 0x688
mov eax, dword [0x4dc8d0]
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 eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x64c], ecx
lea ecx, [ebp - 0x65c]
mov ebx, edx
mov dword [ebp - 0x680], eax
call fcn.0043e010
mov dword [ebp - 4], 0
mov edx, dword [esi]
push edx
lea ecx, [ebp - 0x620]
call fcn.004161e0
mov eax, dword [ebp - 0x64c]
mov byte [ebp - 4], 1
fild dword [eax]
mov ecx, dword [eax]
xor esi, esi
mov dword [ebp - 0x640], esi
mov dword [ebp - 0x63c], esi
mov byte [ebp - 0x621], 0
test ecx, ecx
jge 0x412295
fadd qword [0x4cec88]
mov edx, dword [edi]
fstp qword [ebp - 0x67c]
fild dword [edi]
test edx, edx
jge 0x4122a9
fadd qword [0x4cec88]
fstp qword [ebp - 0x68c]
call fcn.0041bb30
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x4122ea
push str.__atl_condVal
push 0
push 0xe2
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x4122e0
int3
push 0x80004005
call fcn.00401960
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x630], eax
mov byte [ebp - 4], 2
call fcn.0041bb30
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41233a
push str.__atl_condVal
push ecx
push 0xe2
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412330
int3
push 0x80004005
call fcn.00401960
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x638], eax
mov byte [ebp - 4], 3
call fcn.0041bb30
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41238a
push str.__atl_condVal
push ecx
push 0xe2
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412380
int3
push 0x80004005
call fcn.00401960
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x634], esi
mov byte [ebp - 4], 4
call fcn.0041bb30
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4123da
push str.__atl_condVal
push ecx
push 0xe2
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x4123d0
int3
push 0x80004005
call fcn.00401960
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x628], eax
mov byte [ebp - 4], 5
call fcn.0041bb30
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41242a
push str.__atl_condVal
push ecx
push 0xe2
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412420
int3
push 0x80004005
call fcn.00401960
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x62c], eax
push 6
push 0x4ce310
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 6
call fcn.004023f0
push 7
push str.__nobr_
lea ecx, [ebp - 0x62c]
call fcn.004023f0
mov ecx, dword [ebx]
push ecx
lea edx, [ebp - 0x638]
push str.td__s
push edx
call fcn.00415c40
fld qword [ebp - 0x67c]
fdiv qword [ebp - 0x68c]
add esp, 0xc
fmul qword [0x4cec80]
call fcn.00481400
mov ecx, dword [edi]
push pe_nt_image_headers32
mov ebx, eax
lea eax, [ebp - 0x61c]
push eax
push 0
push ecx
call dword [sym.imp.SHLWAPI.dll_StrFormatByteSizeW]
mov edx, dword [ebp - 0x620]
push 0
push 0x1021
push edx
lea ecx, [ebp - 0x65c]
call fcn.0043e4a0
cmp eax, 1
jne 0x412bf8
mov edx, dword [ebp - 0x680]
lea eax, [ebp - 0x640]
push eax
mov eax, dword [edx]
push 0x400
lea ecx, [ebp - 0x41c]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x412696
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x65c]
call fcn.0043ecd0
lea ecx, [ebp - 0x674]
call fcn.0043fc80
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x620]
push 0
push ecx
lea ecx, [ebp - 0x674]
call fcn.0043fe30
test eax, eax
je 0x412552
nop
lea ecx, [ebp - 0x674]
call fcn.00440460
cmp eax, 1
jne 0x41254e
mov edx, dword [ebp - 0x620]
push edx
call fcn.0043f030
jmp 0x412530
test eax, eax
jne 0x412530
lea ecx, [ebp - 0x674]
call fcn.0043fd80
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 6
call fcn.0043fd10
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x62c]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x4125a0
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x4125a0
int3
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4125b6
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x628]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x4125ea
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x4125ea
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412600
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x634]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412634
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412634
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x41264a
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x638]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x41267e
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x41267e
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412d1f
mov ecx, dword [esi]
push esi
jmp 0x412d18
cmp dword [ebp - 0x640], 0
je 0x41287e
cmp dword [ebp - 0x63c], 5
jne 0x4127a2
push 0x4e1278
call dword [sym.imp.KERNEL32.dll_TryEnterCriticalSection]
test eax, eax
je 0x4126d6
mov cl, byte [0x4e1274]
push 0x4e1278
mov byte [ebp - 0x621], cl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x621], 1
jne 0x412798
lea ecx, [ebp - 0x65c]
call fcn.0043ecd0
lea ecx, [ebp - 0x674]
call fcn.0043fc80
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x620]
push 0
push edx
lea ecx, [ebp - 0x674]
call fcn.0043fe30
test eax, eax
je 0x412737
lea ecx, [ebp - 0x674]
call fcn.00440460
cmp eax, 1
jne 0x412733
mov eax, dword [ebp - 0x620]
push eax
call fcn.0043f030
jmp 0x412715
test eax, eax
jne 0x412715
lea ecx, [ebp - 0x674]
call fcn.0043fd80
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 6
call fcn.0043fd10
lea ecx, [ebp - 0x62c]
call fcn.004018a0
lea ecx, [ebp - 0x628]
call fcn.004018a0
lea ecx, [ebp - 0x634]
call fcn.004018a0
lea ecx, [ebp - 0x638]
call fcn.004018a0
lea ecx, [ebp - 0x630]
call fcn.004018a0
lea ecx, [ebp - 0x620]
call fcn.004018a0
jmp 0x412db3
mov dword [ebp - 0x63c], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x640]
push ecx
lea edx, [ebp - 0x41c]
push edx
lea ecx, [ebp - 0x65c]
call fcn.0043ea20
mov esi, dword [ebp - 0x640]
mov eax, dword [ebp - 0x64c]
add dword [eax], esi
mov eax, esi
mov dword [ebp - 0x648], eax
fild dword [ebp - 0x648]
test eax, eax
jge 0x4127e5
fadd qword [0x4cec88]
fadd qword [ebp - 0x67c]
fst qword [ebp - 0x67c]
fdiv qword [ebp - 0x68c]
fmul qword [0x4cec80]
call fcn.00481400
xor edi, edi
mov dword [ebp - 4], 6
je 0x412870
cmp eax, ebx
je 0x412870
mov ecx, dword [ebp - 0x634]
push 0x25
push eax
push ecx
lea edx, [ebp - 0x630]
push str._nobr__s_d_c_completed__nobr_
push edx
mov ebx, eax
call fcn.00415c40
mov ecx, dword [ebp - 0x630]
mov eax, dword [ecx - 0xc]
add esp, 0x14
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x41284b
call fcn.00401540
mov ecx, dword [edi]
mov edx, dword [ecx + 0xe4]
push eax
push edi
mov dword [ebp - 0x644], eax
call edx
mov eax, dword [ebp - 0x644]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebp - 0x640]
inc dword [ebp - 0x63c]
test esi, esi
jne 0x4124cd
xor eax, eax
je 0x412a23
lea eax, [ebp - 0x634]
push eax
lea ecx, [ebp - 0x628]
push ecx
lea edx, [ebp - 0x648]
push edx
call fcn.004020b0
lea ecx, [ebp - 0x62c]
push ecx
push eax
lea edx, [ebp - 0x63c]
mov bl, 0xc
push edx
mov byte [ebp - 4], bl
call fcn.004020b0
add esp, 0x18
mov byte [ebp - 4], 0xd
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x412962
call fcn.00401540
mov ecx, dword [ebp - 0x690]
call fcn.0041caf0
lea ecx, [ebp - 0x65c]
call fcn.0043ecd0
lea ecx, [ebp - 0x674]
call fcn.0043fc80
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x620]
push 0
push ecx
lea ecx, [ebp - 0x674]
call fcn.0043fe30
test eax, eax
je 0x412942
jmp 0x412920
lea ecx, [ebp - 0x674]
call fcn.00440460
cmp eax, 1
jne 0x41293e
mov edx, dword [ebp - 0x620]
push edx
call fcn.0043f030
jmp 0x412920
test eax, eax
jne 0x412920
lea ecx, [ebp - 0x674]
call fcn.0043fd80
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 0xa
call fcn.0043fd10
mov eax, 0x412751
ret
mov byte [ebp - 4], bl
mov esi, dword [ebp - 0x63c]
add esi, 0xfffffff0
lea edi, [esi + 0xc]
mov dword [ebp - 0x644], eax
cmp dword [edi], 0
jne 0x41299a
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x41299a
int3
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4129b0
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x648]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x4129e4
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x4129e4
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x4129fa
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov edx, dword [ebp - 0x644]
xor esi, esi
mov ecx, dword [esi]
mov eax, dword [ecx + 0xe4]
push edx
push esi
call eax
mov ecx, dword [ebp - 0x644]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x62c]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412a57
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412a57
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412a6d
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x628]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412aa1
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412aa1
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412ab7
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x634]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412aeb
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412aeb
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412b01
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x638]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412b35
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412b35
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412b4b
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x630]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412b7f
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412b7f
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412b95
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x620]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412bc9
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412bc9
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412bdf
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
lea ecx, [ebp - 0x65c]
mov dword [ebp - 4], 0xffffffff
call fcn.0043e170
mov al, 1
jmp 0x412dc7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x62c]
add edi, 0xfffffff0
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jne 0x412c32
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412c32
int3
or ecx, 0xffffffff
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x412c48
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0x628]
add edi, 0xfffffff0
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jne 0x412c7c
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412c7c
int3
or ecx, 0xffffffff
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x412c92
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea edi, [esi - 0x10]
lea ebx, [edi + 0xc]
mov byte [ebp - 4], 3
cmp dword [ebx], 0
jne 0x412cbf
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412cbf
int3
or ecx, 0xffffffff
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x412cd5
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x638]
add edi, 0xfffffff0
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jne 0x412d09
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412d09
int3
or ecx, 0xffffffff
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x412d1f
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x630]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412d53
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412d53
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412d69
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x620]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x412d9d
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.004778e0
add esp, 0x14
cmp eax, 1
jne 0x412d9d
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x412db3
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
lea ecx, [ebp - 0x65c]
mov dword [ebp - 4], 0xffffffff
call fcn.0043e170
xor al, al
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.00477740
mov esp, ebp
pop ebp
ret 0xc