Function at 0x4212f0
Capabilities:
Check if file exists
Create thread
Get http document via iwebbrowser2
Print debug messages
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x48d337
mov eax, dword fs:[0]
push eax
sub esp, 0x1e0
mov eax, dword [0x4c6018]
xor eax, esp
mov dword [esp + 0x1d8], eax
push ebx
push esi
push edi
mov eax, dword [0x4c6018]
xor eax, esp
push eax
lea eax, [esp + 0x1f0]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], esi
call dword [sym.imp.mfc100.dll_Ordinal_1939]
test eax, eax
je 0x42135b
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x7c]
call eax
mov ebx, eax
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x421367
mov ecx, dword [0x4d471c]
mov dword [esp + 0x20], ecx
mov ebx, ecx
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x421470
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x421397
test esi, esi
je 0x421397
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
mov eax, 1
mov word [esi], dx
mov word [esi + 8], ax
test bl, 1
je 0x422a9e
mov edi, dword [edi]
movzx eax, word [edi + 0x10]
cmp eax, 3
je 0x4213d7
cmp eax, 5
jne 0x4213d7
fld qword [edi + 0x18]
fnstcw word [esp + 0x1c]
movzx eax, word [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x34]
mov ebx, dword [esp + 0x34]
fldcw word [esp + 0x1c]
jmp 0x4213da
mov ebx, dword [edi + 0x18]
mov ecx, dword [edi + 8]
push ecx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov dword [esp + 0x1f8], 0
cmp ebx, 0x10
jne 0x421411
mov edx, dword [esp + 0x20]
push str.C_run_DeviceChange_Success
mov dword [edx + 0x145c], 0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea eax, [esp + 0x18]
mov byte [esp + 0x1f8], 1
mov edi, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x14]
mov edx, ebx
call fcn.00419e70
test eax, eax
je 0x42145d
test esi, esi
je 0x42145d
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_2119]
push esi
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 8
mov word [esi], cx
mov dword [esi + 8], edi
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x18]
jmp 0x422a98
cmp eax, 2
jne 0x42152e
test byte [ebp + 0x18], al
je 0x42149a
test esi, esi
je 0x42149a
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
mov eax, 1
mov word [esi], dx
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x422a9e
mov edi, dword [edi]
movzx eax, word [edi + 0x10]
cmp eax, 3
je 0x4214db
cmp eax, 5
jne 0x4214db
fld qword [edi + 0x18]
fnstcw word [esp + 0x1c]
movzx eax, word [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x34]
mov esi, dword [esp + 0x34]
fldcw word [esp + 0x1c]
jmp 0x4214de
mov esi, dword [edi + 0x18]
mov ecx, dword [edi + 8]
push ecx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
lea ecx, [esp + 0x10]
mov dword [esp + 0x1f8], 2
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea edx, [esp + 0x18]
push edx
push esi
lea ecx, [ebx + 0x11c]
mov byte [esp + 0x200], 3
call dword [sym.imp.mfc100.dll_Ordinal_12095]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x18]
jmp 0x422a98
cmp eax, 3
jne 0x421548
mov eax, dword [ebx + 0x20]
push 0
push 0
push 0x12
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x422a9e
cmp eax, 0x10
jne 0x421566
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
lea ecx, [esp + 0x18]
jmp 0x422a98
cmp eax, 4
jne 0x421586
mov eax, dword [ebx + 0x20]
push 0
push 0xf020
push 0x112
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x422a9e
cmp eax, 6
jne 0x421686
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x4215b3
test esi, esi
je 0x4215b3
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 0xb
mov edx, 1
mov word [esi], cx
mov word [esi + 8], dx
test bl, 1
je 0x422a9e
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push ecx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov dword [esp + 0x1f8], 4
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
lea edx, [esp + 0x5c]
push edx
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x200], 5
call dword [sym.imp.mfc100.dll_Ordinal_4498]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
call fcn.00401f80
mov ecx, dword [esp + 0x40]
add ecx, 0x170
call fcn.00413170
test eax, eax
je 0x421674
test esi, esi
je 0x421674
cmp dword [esp + 0x70], 0x10
mov eax, dword [esp + 0x5c]
jae 0x421639
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_310]
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f8], 6
call dword [sym.imp.mfc100.dll_Ordinal_2119]
push esi
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, 8
lea ecx, [esp + 0x18]
mov word [esi], ax
mov dword [esi + 8], edi
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x5c]
call fcn.00401fc0
lea ecx, [esp + 0x10]
jmp 0x422a98
cmp eax, 5
jne 0x42179f
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x4216b3
test esi, esi
je 0x4216b3
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 0xb
mov edx, 1
mov word [esi], cx
mov word [esi + 8], dx
test bl, 1
je 0x422a9e
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
push ecx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov dword [esp + 0x1f8], 7
mov edx, dword [edi]
mov eax, dword [edx + 8]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov bl, 8
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1fc], bl
call dword [sym.imp.mfc100.dll_Ordinal_4498]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
call fcn.00401f80
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x218], 9
call dword [sym.imp.mfc100.dll_Ordinal_4498]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.00401f80
mov ecx, dword [esp + 0x58]
add ecx, 0x170
mov byte [esp + 0x230], bl
call fcn.00412ff0
test eax, eax
je 0x421773
test esi, esi
je 0x42178c
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 0xb
mov word [esi], cx
or edx, 0xffffffff
lea ecx, [esp + 0x18]
mov word [esi + 8], dx
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x10]
jmp 0x422a98
test esi, esi
je 0x42178c
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, 0xb
xor ecx, ecx
mov word [esi], ax
mov word [esi + 8], cx
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x10]
jmp 0x422a98
cmp eax, 0xa
jne 0x4218b8
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x4217cc
test esi, esi
je 0x4217cc
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
mov eax, 1
mov word [esi], dx
mov word [esi + 8], ax
test bl, 1
je 0x422a9e
mov ecx, dword [edi]
mov edx, dword [ecx + 0x18]
push edx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov dword [esp + 0x1f8], 0xa
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push ecx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1fc], 0xb
call dword [sym.imp.mfc100.dll_Ordinal_4498]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
call fcn.00401f80
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x218], 0xc
call dword [sym.imp.mfc100.dll_Ordinal_4498]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.00401f80
mov ecx, dword [esp + 0x58]
add ecx, 0x170
mov byte [esp + 0x230], 0xb
call fcn.00412e70
test eax, eax
je 0x42188c
test esi, esi
je 0x4218a5
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
or eax, 0xffffffff
lea ecx, [esp + 0x18]
mov word [esi], dx
mov word [esi + 8], ax
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x10]
jmp 0x422a98
test esi, esi
je 0x4218a5
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 0xb
xor edx, edx
mov word [esi], cx
mov word [esi + 8], dx
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x10]
jmp 0x422a98
cmp eax, 7
jne 0x421965
test byte [ebp + 0x18], 2
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
je 0x4218e5
test esi, esi
je 0x4218e5
push esi
call ebx
mov eax, 0xb
mov ecx, 1
mov word [esi], ax
mov word [esi + 8], cx
test byte [ebp + 0x18], 1
je 0x422a9e
mov edx, dword [edi]
mov eax, dword [edx + 8]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
push 0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1fc], 0xd
call dword [sym.imp.mfc100.dll_Ordinal_4498]
push eax
call fcn.00419ba0
test eax, eax
je 0x421943
test esi, esi
je 0x421467
push esi
call ebx
mov ecx, 0xb
or edx, 0xffffffff
mov word [esi], cx
mov word [esi + 8], dx
lea ecx, [esp + 0x18]
jmp 0x422a98
test esi, esi
je 0x421467
push esi
call ebx
xor ecx, ecx
mov eax, 0xb
mov word [esi + 8], cx
mov word [esi], ax
lea ecx, [esp + 0x18]
jmp 0x422a98
cmp eax, 9
jne 0x421a29
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x421992
test esi, esi
je 0x421992
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
mov eax, 1
mov word [esi], dx
mov word [esi + 8], ax
test bl, 1
je 0x422a9e
lea ecx, [esp + 0xcc]
push ecx
call fcn.00417210
lea eax, [esp + 0xcc]
mov dword [esp + 0x1f8], 0xe
call fcn.00417c80
push 0x4b98a0
lea ecx, [esp + 0x14]
mov edi, eax
call dword [sym.imp.mfc100.dll_Ordinal_310]
push edi
lea edx, [esp + 0x14]
push 0x4b9d00
push edx
mov byte [esp + 0x204], 0xf
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_2119]
mov edi, eax
test esi, esi
je 0x421a0e
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, 8
mov word [esi], ax
mov dword [esi + 8], edi
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ebx, [esp + 0xcc]
call fcn.004172a0
jmp 0x422a9e
cmp eax, 8
jne 0x421a92
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x421a52
test esi, esi
je 0x421a52
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 0xb
mov edx, 1
mov word [esi], cx
mov word [esi + 8], dx
test bl, 1
je 0x422a9e
mov eax, dword [edi]
cmp word [eax + 8], 0
mov edx, dword [esp + 0x20]
setne cl
mov byte [edx + 0x1500], cl
test esi, esi
je 0x422a9e
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, 0xb
or ecx, 0xffffffff
mov word [esi], ax
mov word [esi + 8], cx
jmp 0x422a9e
cmp eax, 0xc
jne 0x421ad2
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x421abb
test esi, esi
je 0x421abb
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
mov eax, 1
mov word [esi], dx
mov word [esi + 8], ax
test bl, 1
je 0x422a9e
mov ecx, dword [esp + 0x20]
call fcn.0041b4a0
jmp 0x422a9e
cmp eax, 0xb
jne 0x421b38
test byte [ebp + 0x18], 2
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
je 0x421afb
test esi, esi
je 0x421afb
push esi
call ebx
mov ecx, 0xb
mov edx, 1
mov word [esi], cx
mov word [esi + 8], dx
test byte [ebp + 0x18], 1
je 0x422a9e
mov eax, dword [edi]
cmp word [eax + 8], 0
mov edx, dword [esp + 0x20]
setne cl
mov byte [edx + 0x1501], cl
test esi, esi
je 0x422a9e
push esi
call ebx
mov eax, 0xb
or ecx, 0xffffffff
mov word [esi], ax
mov word [esi + 8], cx
jmp 0x422a9e
cmp eax, 0xd
jne 0x421c41
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x421b65
test esi, esi
je 0x421b65
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
mov eax, 1
mov word [esi], dx
mov word [esi + 8], ax
test bl, 1
je 0x422a9e
mov ecx, dword [edi]
mov edx, dword [ecx + 0x18]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov dword [esp + 0x1f8], 0x10
mov eax, dword [edi]
cmp word [eax + 8], 0
lea eax, [esp + 0x11c]
setne dl
call fcn.00404fd0
movzx ecx, dl
push ecx
sub esp, 0x1c
mov byte [esp + 0x218], 0x11
mov dword [esp + 0x34], esp
mov edi, esp
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
push edi
call fcn.00420760
add esp, 8
mov ebx, 6
lea ecx, [esp + 0x13c]
call fcn.00408a20
test eax, eax
je 0x421c13
test esi, esi
je 0x421c2c
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, 0xb
or ecx, 0xffffffff
mov word [esi], ax
mov word [esi + 8], cx
lea esi, [esp + 0x11c]
call fcn.00405000
lea ecx, [esp + 0x18]
jmp 0x422a98
test esi, esi
je 0x421c2c
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, 0xb
xor eax, eax
mov word [esi], dx
mov word [esi + 8], ax
lea esi, [esp + 0x11c]
call fcn.00405000
lea ecx, [esp + 0x18]
jmp 0x422a98
cmp eax, 0xe
jne 0x4229ac
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x421c6e
test esi, esi
je 0x421c6e
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 0xb
mov edx, 1
mov word [esi], cx
mov word [esi + 8], dx
test bl, 1
je 0x422a9e
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
push ecx
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov dword [esp + 0x1f8], 0x12
mov edx, dword [edi]
mov eax, dword [edx + 8]
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov byte [esp + 0x1f8], 0x13
mov ecx, dword [edi]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_306]
push 0x49dfec
lea ecx, [esp + 0x20]
mov byte [esp + 0x1fc], 0x14
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x421d79
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea ecx, [esp + 0x98]
push ecx
call fcn.00420760
add esp, 8
mov byte [esp + 0x1f8], 0x15
cmp dword [eax + 0x14], 0x10
jb 0x421d0d
mov ebx, dword [eax]
jmp 0x421d0f
mov ebx, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], edx
call fcn.00420710
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004158e0
add esp, 4
mov ebx, eax
call fcn.00420710
lea ecx, [esp + 0x94]
mov ebx, eax
mov byte [esp + 0x1f8], 0x14
call fcn.00401fc0
test esi, esi
je 0x421d79
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test ebx, ebx
je 0x421d6b
mov edx, 8
push ebx
mov word [esi], dx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 8], eax
jmp 0x421d79
mov eax, 0xb
xor ecx, ecx
mov word [esi], ax
mov word [esi + 8], cx
push str.2456789
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x421e16
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea eax, [esp + 0x98]
push eax
call fcn.00420760
add esp, 8
mov byte [esp + 0x1f8], 0x16
cmp dword [eax + 0x14], 0x10
jb 0x421dc4
mov ecx, dword [eax]
jmp 0x421dc6
mov ecx, eax
mov edx, dword [esp + 0x24]
push edx
call fcn.00415cb0
add esp, 4
lea ecx, [esp + 0x94]
mov ebx, eax
mov byte [esp + 0x1f8], 0x14
call fcn.00401fc0
test esi, esi
je 0x421e16
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test ebx, ebx
je 0x421e08
mov eax, 0xb
xor ecx, ecx
mov word [esi], ax
mov word [esi + 8], cx
jmp 0x421e16
mov edx, 0xb
xor eax, eax
mov word [esi], dx
mov word [esi + 8], ax
push 0x49e324
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x421fb5
mov eax, dword [esp + 0x24]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421e34
sub eax, edx
je 0x4226e7
lea edi, [eax + 3]
push edi
call dword [sym.imp.MSVCR100.dll_malloc]
add esp, 4
push edi
mov esi, eax
push 0
push esi
call sub.MSVCR100.dll_memset
add esp, 0xc
test esi, esi
je 0x4226e7
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 0xc]
push esi
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1c], edi
call dword [sym.imp.mfc100.dll_Ordinal_4498]
lea ecx, [esp + 0x18]
mov edx, eax
call fcn.00403050
push esi
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_314]
push ecx
mov byte [esp + 0x1fc], 0x17
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea eax, [esp + 0x98]
push eax
call fcn.00420760
add esp, 8
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], 0
mov byte [esp + 0x40], 0
lea ecx, [esp + 0x40]
push ecx
sub esp, 0x1c
mov bl, 0x19
mov byte [esp + 0x218], bl
lea eax, [esp + 0xb4]
mov esi, esp
mov dword [esp + 0x34], esp
call fcn.00401f50
call fcn.00420800
add esp, 4
lea eax, [esp + 0x5c]
mov esi, esp
mov dword [esp + 0x30], esp
call fcn.00401f50
lea edi, [esp + 0x30]
call fcn.0041b6e0
add esp, 0x1c
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x1fc], 0x1a
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov ecx, edi
mov byte [esp + 0x1f8], bl
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0xc]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_4498]
mov ebx, eax
call fcn.00420710
mov esi, dword [esp + 0x28]
mov edi, eax
test esi, esi
je 0x421f8a
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x421f7c
mov eax, 8
push edi
mov word [esi], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 8], eax
jmp 0x421f8a
mov ecx, 0xb
xor edx, edx
mov word [esi], cx
mov word [esi + 8], dx
lea ecx, [esp + 0x40]
call fcn.00401fc0
lea ecx, [esp + 0x94]
call fcn.00401fc0
lea ecx, [esp + 0x10]
mov byte [esp + 0x1f8], 0x14
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov edi, dword [esp + 0x30]
push 0x4bc390
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x421fea
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x14]
push eax
push 0
push ecx
push 0x421100
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4bc394
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x4220d9
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov byte [esp + 0x1f8], 0x1b
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
push ecx
mov byte [esp + 0x1fc], 0x1c
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea ecx, [esp + 0x7c]
push ecx
call fcn.00420760
add esp, 4
mov byte [esp + 0x1fc], 0x1d
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea eax, [esp + 0x44]
push eax
call fcn.00420760
add esp, 8
mov byte [esp + 0x1f8], 0x1e
mov ecx, dword [esp + 0x40]
mov eax, 0x10
cmp dword [esp + 0x54], eax
jae 0x422091
lea ecx, [esp + 0x40]
cmp dword [esp + 0x8c], eax
mov eax, dword [esp + 0x78]
jae 0x4220a2
lea eax, [esp + 0x78]
push eax
call fcn.004209b0
add esp, 4
lea ecx, [esp + 0x40]
call fcn.00401fc0
lea ecx, [esp + 0x78]
call fcn.00401fc0
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x10]
mov byte [esp + 0x1f8], 0x14
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0x4bc398
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x42219e
lea ecx, [esp + 0x94]
push ecx
call fcn.00420d80
sub esp, 0x18
mov byte [esp + 0x214], 0x1f
lea eax, [esp + 0xb0]
mov esi, esp
mov dword [esp + 0x30], esp
call fcn.00401f50
lea edi, [esp + 0x2c]
call fcn.0041b6e0
add esp, 0x1c
mov byte [esp + 0x1f8], 0x20
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0xc]
push eax
mov ecx, edi
call dword [sym.imp.mfc100.dll_Ordinal_4498]
mov ebx, eax
call fcn.00420710
mov esi, dword [esp + 0x28]
mov edi, eax
test esi, esi
je 0x42217c
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x42216e
mov eax, 8
push edi
mov word [esi], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 8], eax
jmp 0x42217c
mov ecx, 0xb
xor edx, edx
mov word [esi], cx
mov word [esi + 8], dx
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x94]
mov byte [esp + 0x1f8], 0x14
call fcn.00401fc0
mov edi, dword [esp + 0x30]
push 0x4bc39c
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x42232e
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
push ecx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov byte [esp + 0x1f8], 0x21
mov edx, dword [edi]
mov eax, dword [edx + 8]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
push ecx
mov byte [esp + 0x1fc], 0x22
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea eax, [esp + 0x98]
push eax
call fcn.00420760
add esp, 4
mov byte [esp + 0x1fc], 0x23
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea eax, [esp + 0x7c]
push eax
call fcn.00420760
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
lea ecx, [esp + 0x48]
mov byte [esp + 0x200], 0x25
call fcn.00420f60
push 0x4a3178
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0xc0]
push edx
call fcn.00409ec0
add esp, 0x14
mov ecx, eax
lea eax, [esp + 0x78]
lea ebx, [esp + 0x5c]
mov byte [esp + 0x1f8], 0x26
call fcn.00409fa0
mov edi, eax
lea esi, [esp + 0x78]
mov byte [esp + 0x1f8], 0x27
call fcn.004021f0
mov ecx, ebx
call fcn.00401fc0
mov bl, 0x25
lea ecx, [esp + 0xb0]
mov byte [esp + 0x1f8], bl
call fcn.00401fc0
sub esp, 0x1c
mov eax, esi
mov esi, esp
mov dword [esp + 0x30], esp
call fcn.00401f50
sub esp, 0x1c
lea eax, [esp + 0xcc]
mov esi, esp
mov byte [esp + 0x230], 0x28
mov dword [esp + 0x6c], esp
call fcn.00401f50
mov byte [esp + 0x230], bl
call fcn.00420e90
add esp, 0x38
lea ecx, [esp + 0x40]
call fcn.00401fc0
lea ecx, [esp + 0x78]
call fcn.00401fc0
lea ecx, [esp + 0x94]
call fcn.00401fc0
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x10]
mov byte [esp + 0x1f8], 0x14
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
push 0x4bc3a0
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x4224bb
mov eax, dword [edi]
mov edi, dword [eax + 8]
lea ebx, [edi + edi]
push ebx
mov dword [esp + 0x18], ebx
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new___unsigned_int_]
add esp, 4
push ebx
mov esi, eax
push 0
push esi
call sub.MSVCR100.dll_memset
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
add esp, 0xc
push edi
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc100.dll_Ordinal_4498]
lea edx, [esp + 0x18]
push edx
push esi
call fcn.00414f70
add esp, 0xc
push esi
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_314]
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x200], 0x29
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea ecx, [esp + 0x98]
push ecx
call fcn.00420760
add esp, 8
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], 0
mov byte [esp + 0x40], 0
lea edx, [esp + 0x40]
push edx
sub esp, 0x1c
mov bl, 0x2b
lea eax, [esp + 0xb4]
mov esi, esp
mov byte [esp + 0x218], bl
mov dword [esp + 0x54], esp
call fcn.00401f50
call fcn.00420800
add esp, 4
lea eax, [esp + 0x5c]
mov esi, esp
mov dword [esp + 0x50], esp
call fcn.00401f50
lea edi, [esp + 0x30]
call fcn.0041b6e0
add esp, 0x1c
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x1fc], 0x2c
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov ecx, edi
mov byte [esp + 0x1f8], bl
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 0xc]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_4498]
mov ebx, eax
call fcn.00420710
mov edi, dword [esp + 0x28]
mov esi, eax
test edi, edi
je 0x42248c
push edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x42247e
mov ecx, 8
push esi
mov word [edi], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi + 8], eax
jmp 0x42248c
mov edx, 0xb
xor eax, eax
mov word [edi], dx
mov word [edi + 8], ax
lea ecx, [esp + 0x40]
call fcn.00401fc0
lea ecx, [esp + 0x94]
call fcn.00401fc0
lea ecx, [esp + 0x10]
mov byte [esp + 0x1f8], 0x14
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
push 0x4bc3a4
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x422649
mov eax, 0x4b98a0
lea ecx, [esp + 0x94]
call fcn.00401f80
xor eax, eax
mov byte [esp + 0x5c], 0
mov dword [esp + 0x5d], eax
mov dword [esp + 0x61], eax
mov dword [esp + 0x65], eax
mov word [esp + 0x69], ax
mov byte [esp + 0x6b], al
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], eax
mov byte [esp + 0x40], al
lea ecx, [esp + 0x40]
mov byte [esp + 0x1f8], 0x2e
call fcn.00420f60
push 0x4bc3a8
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.00409ec0
add esp, 0xc
mov byte [esp + 0x1f8], 0x2f
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x422554
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x60]
call fcn.00401bb0
add esp, 4
test eax, eax
jne 0x42259e
lea eax, [esp + 0x5c]
push eax
lea ebx, [esp + 0xb4]
call fcn.00421010
add esp, 4
mov edi, eax
lea esi, [esp + 0x94]
mov byte [esp + 0x1f8], 0x30
call fcn.004021f0
mov ecx, ebx
mov byte [esp + 0x1f8], 0x2f
call fcn.00401fc0
sub esp, 0x1c
lea eax, [esp + 0xb0]
mov esi, esp
mov dword [esp + 0x50], esp
call fcn.00401f50
lea edi, [esp + 0x2c]
call fcn.0041b6e0
add esp, 0x1c
mov byte [esp + 0x1f8], 0x31
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
push eax
mov ecx, edi
call dword [sym.imp.mfc100.dll_Ordinal_4498]
mov ebx, eax
call fcn.00420710
mov esi, dword [esp + 0x28]
mov edi, eax
test esi, esi
je 0x422615
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x422607
mov edx, 8
push edi
mov word [esi], dx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 8], eax
jmp 0x422615
mov eax, 0xb
xor ecx, ecx
mov word [esi], ax
mov word [esi + 8], cx
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x78]
call fcn.00401fc0
lea ecx, [esp + 0x40]
call fcn.00401fc0
lea ecx, [esp + 0x94]
mov byte [esp + 0x1f8], 0x14
call fcn.00401fc0
mov edi, dword [esp + 0x30]
push 0x4bc3b8
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x422853
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], eax
mov byte [esp + 0x40], al
lea ecx, [esp + 0x40]
mov byte [esp + 0x1f8], 0x32
call fcn.00420f60
push 0x4bc3a8
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.00409ec0
add esp, 0xc
mov byte [esp + 0x1f8], 0x33
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x4226b5
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x422704
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 0xb
mov word [esi], cx
xor edx, edx
lea ecx, [esp + 0x78]
mov word [esi + 8], dx
call fcn.00401fc0
lea ecx, [esp + 0x40]
call fcn.00401fc0
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x24]
jmp 0x422a98
sub esp, 0x1c
lea eax, [esp + 0x94]
mov esi, esp
mov dword [esp + 0x50], esp
call fcn.00401f50
lea edi, [esp + 0x30]
call fcn.0041b6e0
add esp, 0x1c
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1f8], 0x34
call dword [sym.imp.mfc100.dll_Ordinal_421]
push 0
mov byte [esp + 0x1fc], 0x35
mov eax, dword [esp + 0x18]
push 0
push eax
lea ecx, [esp + 0x68]
call dword [sym.imp.mfc100.dll_Ordinal_10906]
lea ecx, [esp + 0x5c]
call dword [sym.imp.mfc100.dll_Ordinal_5208]
lea ecx, [esp + 0x18]
mov esi, eax
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [esp + 0x1f8], 0x36
test esi, esi
je 0x42279e
lea ecx, [esi + 1]
push ecx
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new___unsigned_int_]
add esp, 4
mov edi, eax
push esi
push edi
lea ecx, [esp + 0x64]
mov byte [edi + esi], 0
call dword [sym.imp.mfc100.dll_Ordinal_11277]
push edi
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_1316]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_300]
mov byte [esp + 0x1f8], 0x37
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 0xc]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_4498]
mov ebx, eax
call fcn.00420710
mov esi, dword [esp + 0x28]
mov edi, eax
test esi, esi
je 0x422805
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x4227f7
mov ecx, 8
push edi
mov word [esi], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 8], eax
jmp 0x422805
mov edx, 0xb
xor eax, eax
mov word [esi], dx
mov word [esi + 8], ax
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1f8], 0x34
call dword [sym.imp.mfc100.dll_Ordinal_977]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x78]
call fcn.00401fc0
lea ecx, [esp + 0x40]
mov byte [esp + 0x1f8], 0x14
call fcn.00401fc0
mov edi, dword [esp + 0x30]
push 0x4bc3bc
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x42296a
mov ecx, dword [edi]
mov edx, dword [ecx + 0x18]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov byte [esp + 0x1f8], 0x38
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push ecx
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_306]
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x38], esp
mov bl, 0x39
push edx
mov byte [esp + 0x200], bl
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea eax, [esp + 0xb4]
push eax
call fcn.00420760
add esp, 8
mov byte [esp + 0x1f8], 0x3a
mov esi, dword [esp + 0x20]
add esi, 0xb0
mov edi, eax
call fcn.004021f0
lea ecx, [esp + 0xb0]
mov byte [esp + 0x1f8], bl
call fcn.00401fc0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea eax, [esp + 0xb4]
push eax
call fcn.00420760
add esp, 8
mov byte [esp + 0x1f8], 0x3b
mov ebx, dword [esp + 0x20]
lea esi, [ebx + 0xcc]
mov edi, eax
call fcn.004021f0
lea ecx, [esp + 0xb0]
call fcn.00401fc0
lea ecx, [esp + 0x10]
push ecx
push 0
push ebx
push 0x421100
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f8], 0x14
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0x4bc3c0
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x422986
mov ecx, dword [esp + 0x20]
call fcn.0041e2f0
push 0x4bc3c4
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
jne 0x4226e7
mov edx, dword [esp + 0x20]
mov dword [edx + 0x1460], eax
jmp 0x4226e7
cmp eax, 0xf
jne 0x422a9e
mov bl, byte [ebp + 0x18]
test bl, 2
je 0x4229d9
test esi, esi
je 0x4229d9
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, 0xb
mov ecx, 1
mov word [esi], ax
mov word [esi + 8], cx
test bl, 1
je 0x422a9e
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc100.dll_Ordinal_306]
mov dword [esp + 0x1f8], 0x3c
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edx
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_306]
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x200], 0x3d
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea ecx, [esp + 0xb4]
push ecx
call fcn.00420760
add esp, 8
mov byte [esp + 0x1f8], 0x3e
cmp dword [eax + 0x14], 0x10
jb 0x422a47
mov eax, dword [eax]
mov edx, dword [esp + 0x20]
push edx
mov ecx, eax
call fcn.00415cb0
add esp, 4
lea ecx, [esp + 0xb0]
mov edi, eax
call fcn.00401fc0
test esi, esi
je 0x422a8a
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, 0xb
mov word [esi], ax
test edi, edi
jne 0x422a83
xor ecx, ecx
mov word [esi + 8], cx
jmp 0x422a8a
or edx, 0xffffffff
mov word [esi + 8], dx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_901]
xor eax, eax
mov ecx, dword [esp + 0x1f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1d8]
xor ecx, esp
call fcn.00449013
mov esp, ebp
pop ebp
ret 0x24