Function at 0x420710
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x450514
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x468110]
xor eax, esp
mov dword [esp + 0x268], eax
push ebx
push esi
push edi
mov eax, dword [0x468110]
xor eax, esp
push eax
lea eax, [esp + 0x280]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, edx
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xd8], ecx
mov ecx, dword [eax + 0x10]
xor edx, edx
cmp ecx, ebx
setne dl
mov dword [esp + 0x11c], esi
lea edi, [eax + 0x18]
mov ecx, 0x4a9f2c
mov dword [esi], edx
mov esi, dword [eax + 0x14]
mov eax, dword [0x4a9f2c]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc8], esi
call edx
add eax, 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x288], ebx
mov eax, dword [0x4a9f2c]
mov edx, dword [eax + 0xc]
mov ecx, 0x4a9f2c
call edx
add eax, 0x10
mov dword [esp + 0x48], eax
xor eax, eax
cmp esi, 1
setg al
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x28c], 1
lea eax, [eax*4 + 1]
mov dword [esp + 0x60], eax
call fcn.0040ed40
cmp esi, ebx
mov byte [esp + 0x288], 2
mov dword [esp + 0xd0], ebx
jle 0x422221
test byte [0x4aa3a8], 1
mov dword [esp + 0x10], ebx
jne 0x420827
or dword [0x4aa3a8], 1
mov byte [esp + 0x288], 3
call fcn.00405400
push 0x4509d0
call fcn.00436947
add esp, 4
mov byte [esp + 0x288], 2
mov eax, dword [0x4aa3b0]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x10]
push edx
push 0x4aa3b0
call ecx
cmp dword [esp + 0x10], ebx
je 0x42220a
mov eax, dword [edi]
add edi, 4
cmp eax, ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x44], ebx
jle 0x420ae2
jmp 0x420872
xor ebx, ebx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x44]
push eax
call fcn.00422590
test eax, eax
je 0x4222c4
mov edi, dword [esp + 0x3c]
mov esi, dword [edi - 0xc]
mov ecx, dword [edi - 8]
mov eax, 1
sub eax, dword [edi - 4]
sub ecx, esi
or eax, ecx
jge 0x4208b0
mov ecx, esi
lea eax, [esp + 0x3c]
call fcn.0040aad0
mov edi, dword [esp + 0x3c]
lea ecx, [esi + 1]
push ecx
push edi
call dword [sym.imp.MSVCR90.dll__wcsupr_s]
add esp, 8
cmp esi, ebx
jl 0x422402
cmp esi, dword [edi - 8]
jg 0x422402
lea eax, [esp + 0x19c]
push 3
xor edx, edx
mov dword [esp + 0x19c], eax
mov dword [edi - 0xc], esi
push str.PROTOCOLINFO
lea eax, [esp + 0x1a0]
mov word [edi + esi*2], dx
call fcn.00422eb0
mov byte [esp + 0x288], 5
mov ecx, dword [esp + 0x198]
push ecx
lea esi, [esp + 0x40]
call fcn.004227d0
mov bl, al
mov byte [esp + 0x28c], 2
mov eax, dword [esp + 0x19c]
lea edx, [esp + 0x1a0]
add esp, 4
cmp eax, edx
je 0x42093b
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
test bl, bl
je 0x420972
mov esi, dword [esp + 0x40]
mov eax, dword [esi]
add esi, 4
cmp eax, 0x274
jne 0x42233c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc8]
push esi
push eax
call edx
add esi, 0x274
mov dword [esp + 0x40], esi
jmp 0x420acf
lea eax, [esp + 0x19c]
push 3
mov dword [esp + 0x19c], eax
push str.RECVDATA
lea eax, [esp + 0x1a0]
call fcn.00422eb0
mov byte [esp + 0x288], 7
mov ecx, dword [esp + 0x198]
push ecx
lea esi, [esp + 0x40]
call fcn.004227d0
mov bl, al
mov byte [esp + 0x28c], 2
mov eax, dword [esp + 0x19c]
lea edx, [esp + 0x1a0]
add esp, 4
cmp eax, edx
je 0x4209d5
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
test bl, bl
je 0x420a18
mov ebx, dword [esp + 0x40]
mov esi, dword [ebx]
add ebx, 4
cmp esi, 0x3200000
jg 0x422392
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xd0]
push esi
push ebx
push eax
call edx
xor eax, eax
test esi, esi
setne al
add ebx, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0xc0], eax
jmp 0x420acf
push 3
lea ecx, [esp + 0x1a0]
push str.TASKOPTION
lea eax, [esp + 0x1a0]
mov dword [esp + 0x1a0], ecx
call fcn.00422eb0
mov byte [esp + 0x288], 9
mov edx, dword [esp + 0x198]
push edx
lea esi, [esp + 0x40]
call fcn.004227d0
mov bl, al
mov byte [esp + 0x28c], 2
mov eax, dword [esp + 0x19c]
lea ecx, [esp + 0x1a0]
add esp, 4
cmp eax, ecx
je 0x420a7b
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
test bl, bl
je 0x420a92
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
add eax, 4
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], eax
jmp 0x420acf
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.00422590
test eax, eax
je 0x4223eb
lea ebx, [esp + 0x48]
call fcn.00422730
call fcn.004226a0
lea ebx, [esp + 0x3c]
lea edi, [esp + 0x18]
call fcn.00422900
mov edi, eax
lea eax, [esp + 0x48]
call fcn.00409e00
mov eax, dword [esp + 0x44]
inc eax
cmp eax, dword [esp + 0x54]
mov dword [esp + 0x44], eax
jl 0x420870
lea edx, [esp + 0xa8]
push edx
mov ecx, 0x459048
call fcn.00409ae0
lea ebx, [esp + 0xa8]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0xa
call fcn.00422900
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x260]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x420b47
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x274], 8
jb 0x420b64
mov eax, dword [esp + 0x260]
test eax, eax
jne 0x420b6b
xor edi, edi
mov dword [esp + 0x44], edi
jmp 0x420b80
lea eax, [esp + 0x260]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [esp + 0x44], edi
test edi, edi
je 0x42240c
mov byte [esp + 0x288], 0xd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push edi
push eax
call edx
push edi
mov byte [esp + 0x28c], 0xc
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [esp + 0x70]
push eax
mov ecx, str.FILENAME
call fcn.00409ae0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0x70]
lea eax, [esp + 0x18]
mov dword [esp + 0xfc], edx
call fcn.004234b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x144], edi
mov dword [esp + 0x140], esi
test esi, esi
jne 0x420bfc
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x18]
cmp edi, ebx
je 0x420c55
mov edi, dword [edi + 0xc]
xor eax, eax
test edi, edi
setne al
test eax, eax
je 0x422416
mov eax, dword [esp + 0x70]
mov ecx, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420c3e
test dx, dx
je 0x420c3a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420c3e
add eax, 4
add ecx, 4
test dx, dx
jne 0x420c18
xor eax, eax
jmp 0x420c43
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setl al
test al, al
jne 0x420c55
lea eax, [esp + 0x140]
jmp 0x420c6e
mov eax, dword [esp + 0x30]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x178], esi
lea eax, [esp + 0x178]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
test ecx, ecx
je 0x420c80
cmp ecx, dword [esp + 0xfc]
je 0x420c86
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0x100]
mov eax, dword [esp + 0x70]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x420cb0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x420fb0
lea ecx, [esp + 0xe0]
push ecx
mov ecx, str.FILENAME
call fcn.00409ae0
lea ebx, [esp + 0xe0]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0xe
call fcn.00422900
mov edi, dword [eax]
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
sub edi, 0x10
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x420d0b
cmp eax, dword [edi]
jne 0x420d0b
mov ebx, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x420d47
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x422420
mov eax, dword [edi + 4]
mov dword [ebx + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [ebx + 0x10]
push eax
call dword [sym.imp.MSVCR90.dll_memcpy_s]
add esp, 0x10
add ebx, 0x10
mov dword [esp + 0x44], ebx
mov byte [esp + 0x288], 0x10
mov eax, dword [esp + 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x420d79
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x4a9f2c]
mov eax, dword [edx + 0xc]
mov ecx, 0x4a9f2c
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x54], edi
mov byte [esp + 0x288], 0x11
mov ecx, dword [ebx - 0xc]
xor eax, eax
mov dword [esp + 0x58], eax
test ecx, ecx
jle 0x420f08
jmp 0x420db4
mov eax, dword [esp + 0x58]
test eax, eax
jl 0x422402
cmp eax, ecx
jg 0x422402
mov edx, dword [esp + 0x44]
movzx ebx, word [edx + eax*2]
cmp bx, 0xd
je 0x420ef0
cmp bx, 0xa
je 0x420ef0
cmp bx, 0x3f
je 0x420ef0
cmp bx, 0x22
je 0x420ef0
cmp bx, 0x2a
je 0x420ef0
cmp bx, 0x2f
je 0x420ef0
cmp bx, 0x3a
je 0x420ef0
cmp bx, 0x3c
je 0x420ef0
cmp bx, 0x3e
je 0x420ef0
cmp bx, 0x7c
je 0x420ef0
cmp bx, 0x5c
jne 0x420ea4
dec ecx
cmp dword [esp + 0x58], ecx
jge 0x420ef0
mov ecx, dword [esp + 0x58]
inc ecx
lea eax, [esp + 0x44]
call fcn.00422880
cmp ax, 0x2a
jne 0x420ef0
mov esi, dword [edi - 0xc]
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
lea ebx, [esi + 1]
sub eax, ebx
or eax, ecx
jge 0x420e7f
mov ecx, ebx
lea eax, [esp + 0x54]
call fcn.0040aad0
mov edi, dword [esp + 0x54]
mov eax, 0x5c
mov word [edi + esi*2], ax
test ebx, ebx
jl 0x422402
cmp ebx, dword [edi - 8]
jg 0x422402
xor ecx, ecx
mov dword [edi - 0xc], ebx
mov word [edi + ebx*2], cx
jmp 0x420ef0
mov edx, dword [edi - 0xc]
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
lea esi, [edx + 1]
sub eax, esi
or eax, ecx
mov dword [esp + 0x14], edx
jge 0x420ed2
mov ecx, esi
lea eax, [esp + 0x54]
call fcn.0040aad0
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
mov word [edi + edx*2], bx
test esi, esi
jl 0x422402
cmp esi, dword [edi - 8]
jg 0x422402
xor edx, edx
mov dword [edi - 0xc], esi
mov word [edi + esi*2], dx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx - 0xc]
inc eax
cmp eax, ecx
mov dword [esp + 0x58], eax
jl 0x420db0
mov esi, dword [esp + 0x50]
test edi, edi
jne 0x420f18
xor ebx, ebx
mov dword [esp + 0x14], ebx
jmp 0x420f2d
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x42240c
mov byte [esp + 0x288], 0x12
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push ebx
push eax
mov eax, dword [edx + 0x10]
call eax
push ebx
mov byte [esp + 0x28c], 0x11
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xdc]
and esi, 2
push esi
push eax
call edx
add edi, 0xfffffff0
mov byte [esp + 0x288], 0x10
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x420f88
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x420fb0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x78]
push ecx
mov ecx, str.COMMENTS
call fcn.00409ae0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x120], eax
lea ecx, [esp + 0x78]
lea eax, [esp + 0x18]
mov dword [esp + 0x124], edx
call fcn.004234b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], esi
test esi, esi
jne 0x421008
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x18]
cmp edi, ebx
je 0x42105f
mov ecx, dword [edi + 0xc]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x422416
mov eax, dword [esp + 0x78]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x421048
test dx, dx
je 0x421044
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x421048
add eax, 4
add ecx, 4
test dx, dx
jne 0x421022
xor eax, eax
jmp 0x42104d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setl al
test al, al
jne 0x42105f
lea eax, [esp + 0x138]
jmp 0x421078
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x180], esi
lea eax, [esp + 0x180]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
test ecx, ecx
je 0x42108a
cmp ecx, dword [esp + 0x120]
je 0x421090
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0x124]
mov eax, dword [esp + 0x78]
setne bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4210ba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x421156
lea ecx, [esp + 0x84]
push ecx
mov ecx, str.COMMENTS
call fcn.00409ae0
lea ebx, [esp + 0x84]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x13
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x4210fa
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x42110f
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x42240c
mov byte [esp + 0x288], 0x14
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x18]
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421156
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, str.CHARSET
call fcn.00409ae0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [esp + 0xec], eax
lea ecx, [esp + 0x64]
lea eax, [esp + 0x18]
mov dword [esp + 0xf0], edx
call fcn.004234b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x194], edi
mov dword [esp + 0x190], esi
test esi, esi
jne 0x4211ae
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x18]
cmp edi, ebx
je 0x421205
mov ecx, dword [edi + 0xc]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x422416
mov eax, dword [esp + 0x64]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4211ee
test dx, dx
je 0x4211ea
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4211ee
add eax, 4
add ecx, 4
test dx, dx
jne 0x4211c8
xor eax, eax
jmp 0x4211f3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setl al
test al, al
jne 0x421205
lea eax, [esp + 0x190]
jmp 0x42121e
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x150], esi
lea eax, [esp + 0x150]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
test ecx, ecx
je 0x421230
cmp ecx, dword [esp + 0xec]
je 0x421236
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0xf0]
mov eax, dword [esp + 0x64]
setne bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421260
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4212fc
lea ecx, [esp + 0xe8]
push ecx
mov ecx, str.CHARSET
call fcn.00409ae0
lea ebx, [esp + 0xe8]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x15
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x4212a0
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x4212b5
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x42240c
mov byte [esp + 0x288], 0x16
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x58]
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0xe8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4212fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x74]
push ecx
mov ecx, str.REFERURL
call fcn.00409ae0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10c], eax
lea ecx, [esp + 0x74]
lea eax, [esp + 0x18]
mov dword [esp + 0x110], edx
call fcn.004234b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], esi
test esi, esi
jne 0x421354
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x18]
cmp edi, ebx
je 0x4213ad
mov ecx, dword [edi + 0xc]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x422416
mov eax, dword [esp + 0x74]
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x421396
test dx, dx
je 0x421392
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x421396
add eax, 4
add ecx, 4
test dx, dx
jne 0x421370
xor eax, eax
jmp 0x42139b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setl al
test al, al
jne 0x4213ad
lea eax, [esp + 0x170]
jmp 0x4213c6
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x160], esi
lea eax, [esp + 0x160]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
test ecx, ecx
je 0x4213d8
cmp ecx, dword [esp + 0x10c]
je 0x4213de
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0x110]
mov eax, dword [esp + 0x74]
setne bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421408
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4214a4
lea ecx, [esp + 0xdc]
push ecx
mov ecx, str.REFERURL
call fcn.00409ae0
lea ebx, [esp + 0xdc]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x17
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x421448
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x42145d
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x42240c
mov byte [esp + 0x288], 0x18
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x20]
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4214a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, 0x45909c
call fcn.00409ae0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [esp + 0xf4], eax
lea ecx, [esp + 0x6c]
lea eax, [esp + 0x18]
mov dword [esp + 0xf8], edx
call fcn.004234b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x18c], edi
mov dword [esp + 0x188], esi
test esi, esi
jne 0x4214fc
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x18]
cmp edi, ebx
je 0x421553
mov ecx, dword [edi + 0xc]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x422416
mov eax, dword [esp + 0x6c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42153c
test dx, dx
je 0x421538
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42153c
add eax, 4
add ecx, 4
test dx, dx
jne 0x421516
xor eax, eax
jmp 0x421541
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setl al
test al, al
jne 0x421553
lea eax, [esp + 0x188]
jmp 0x42156c
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x128], esi
lea eax, [esp + 0x128]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
test ecx, ecx
je 0x42157e
cmp ecx, dword [esp + 0xf4]
je 0x421584
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0xf8]
mov eax, dword [esp + 0x6c]
setne bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4215ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x42164a
lea ecx, [esp + 0x8c]
push ecx
mov ecx, 0x45909c
call fcn.00409ae0
lea ebx, [esp + 0x8c]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x19
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x4215ee
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x421603
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x42240c
mov byte [esp + 0x288], 0x1a
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x28]
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42164a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, str.STATURL
call fcn.00409ae0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x104], eax
lea ecx, [esp + 0x60]
lea eax, [esp + 0x18]
mov dword [esp + 0x108], edx
call fcn.004234b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x14c], edi
mov dword [esp + 0x148], esi
test esi, esi
jne 0x4216a2
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x18]
cmp edi, ebx
je 0x4216fd
mov ecx, dword [edi + 0xc]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x422416
mov eax, dword [esp + 0x60]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4216e6
test dx, dx
je 0x4216e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4216e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4216c0
xor eax, eax
jmp 0x4216eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setl al
test al, al
jne 0x4216fd
lea eax, [esp + 0x148]
jmp 0x421716
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x158], esi
lea eax, [esp + 0x158]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
test ecx, ecx
je 0x421728
cmp ecx, dword [esp + 0x104]
je 0x42172e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0x108]
mov eax, dword [esp + 0x60]
setne bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421758
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4217f4
lea ecx, [esp + 0xbc]
push ecx
mov ecx, str.STATURL
call fcn.00409ae0
lea ebx, [esp + 0xbc]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x1b
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x421798
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x4217ad
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x42240c
mov byte [esp + 0x288], 0x1c
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x40]
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4217f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x68]
push ecx
mov ecx, str.COOKIE
call fcn.00409ae0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x114], eax
lea ecx, [esp + 0x68]
lea eax, [esp + 0x18]
mov dword [esp + 0x118], edx
call fcn.004234b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x16c], edi
mov dword [esp + 0x168], esi
test esi, esi
jne 0x42184c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x18]
cmp edi, ebx
je 0x4218a3
mov ecx, dword [edi + 0xc]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x422416
mov eax, dword [esp + 0x68]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42188c
test dx, dx
je 0x421888
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42188c
add eax, 4
add ecx, 4
test dx, dx
jne 0x421866
xor eax, eax
jmp 0x421891
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setl al
test al, al
jne 0x4218a3
lea eax, [esp + 0x168]
jmp 0x4218bc
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], esi
lea eax, [esp + 0x130]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
test ecx, ecx
je 0x4218ce
cmp ecx, dword [esp + 0x114]
je 0x4218d4
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0x118]
mov eax, dword [esp + 0x68]
setne bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4218fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x42199a
lea ecx, [esp + 0x94]
push ecx
mov ecx, str.COOKIE
call fcn.00409ae0
lea ebx, [esp + 0x94]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x1d
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x42193e
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x421953
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x42240c
mov byte [esp + 0x288], 0x1e
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x30]
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42199a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xd4]
push ecx
mov ecx, str.ONLYFROMORIGIN
call fcn.00409ae0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xd4]
push edx
lea eax, [esp + 0x220]
push eax
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x4219d9
cmp eax, ebx
je 0x4219df
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], edi
mov eax, dword [esp + 0xd4]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421a08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x421a84
lea ecx, [esp + 0x9c]
push ecx
mov ecx, str.ONLYFROMORIGIN
call fcn.00409ae0
lea ebx, [esp + 0x9c]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x1f
call fcn.00422900
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
mov esi, dword [edx]
push eax
add esi, 0x50
call dword [sym.imp.MSVCR90.dll__wtoi]
mov ecx, dword [esi]
add esp, 4
push eax
mov eax, dword [esp + 0x14]
push eax
call ecx
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x9c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421a84
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xc4]
push ecx
mov ecx, str.ORIGINTHREADCOUNT
call fcn.00409ae0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x258]
push eax
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x421ac3
cmp eax, ebx
je 0x421ac9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], edi
mov eax, dword [esp + 0xc4]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421af2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x421b6e
lea ecx, [esp + 0xa4]
push ecx
mov ecx, str.ORIGINTHREADCOUNT
call fcn.00409ae0
lea ebx, [esp + 0xa4]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x20
call fcn.00422900
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
mov esi, dword [edx]
push eax
add esi, 0x38
call dword [sym.imp.MSVCR90.dll__wtoi]
mov ecx, dword [esi]
add esp, 4
push eax
mov eax, dword [esp + 0x14]
push eax
call ecx
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421b6e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xe4]
push ecx
mov ecx, str.PATH
call fcn.00409ae0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xe4]
push edx
lea eax, [esp + 0x250]
push eax
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x421bad
cmp eax, ebx
je 0x421bb3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], edi
mov eax, dword [esp + 0xe4]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421bdc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x421c78
lea ecx, [esp + 0xac]
push ecx
mov ecx, str.PATH
call fcn.00409ae0
lea ebx, [esp + 0xac]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x21
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x421c1c
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x421c31
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
je 0x42240c
mov byte [esp + 0x288], 0x22
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push esi
push eax
mov eax, dword [edx + 0x48]
call eax
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421c78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xcc]
push ecx
mov ecx, str.STATCLICK
call fcn.00409ae0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xcc]
push edx
lea eax, [esp + 0x248]
push eax
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x421cb7
cmp eax, ebx
je 0x421cbd
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], edi
mov eax, dword [esp + 0xcc]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421ce6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x421d82
lea ecx, [esp + 0xb4]
push ecx
mov ecx, str.STATCLICK
call fcn.00409ae0
lea ebx, [esp + 0xb4]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x23
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x421d26
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x421d3b
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
je 0x42240c
mov byte [esp + 0x288], 0x24
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push esi
push eax
mov eax, dword [edx + 0x60]
call eax
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421d82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, str.BROWSER
call fcn.00409ae0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x238]
push eax
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x421dc1
cmp eax, ebx
je 0x421dc7
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], edi
mov eax, dword [esp + 0x80]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421df0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x421e8c
lea ecx, [esp + 0x88]
push ecx
mov ecx, str.BROWSER
call fcn.00409ae0
lea ebx, [esp + 0x88]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x25
call fcn.00422900
mov eax, dword [eax]
test eax, eax
jne 0x421e30
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x421e45
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
je 0x42240c
mov byte [esp + 0x288], 0x26
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push esi
push eax
mov eax, dword [edx + 0x68]
call eax
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421e8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x90]
push ecx
mov ecx, str.TICKCOUNT
call fcn.00409ae0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x240]
push eax
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x421ecb
cmp eax, ebx
je 0x421ed1
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], edi
mov eax, dword [esp + 0x90]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421efa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x421f76
lea ecx, [esp + 0x98]
push ecx
mov ecx, str.TICKCOUNT
call fcn.00409ae0
lea ebx, [esp + 0x98]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x27
call fcn.00422900
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
mov esi, dword [edx]
push eax
add esi, 0x70
call dword [sym.imp.MSVCR90.dll__wtoi]
mov ecx, dword [esi]
add esp, 4
push eax
mov eax, dword [esp + 0x14]
push eax
call ecx
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421f76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xa0]
push ecx
mov ecx, str.THUNDEREXIST
call fcn.00409ae0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0x228]
push eax
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x421fb5
cmp eax, ebx
je 0x421fbb
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], edi
mov eax, dword [esp + 0xa0]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421fe4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x422053
lea ecx, [esp + 0x7c]
push ecx
mov ecx, str.THUNDEREXIST
call fcn.00409ae0
lea ebx, [esp + 0x7c]
lea edi, [esp + 0x18]
mov byte [esp + 0x288], 0x28
call fcn.00422900
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
mov esi, dword [edx]
push eax
add esi, 0x78
call dword [sym.imp.MSVCR90.dll__wtoi]
mov ecx, dword [esi]
add esp, 4
push eax
mov eax, dword [esp + 0x14]
push eax
call ecx
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x422053
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x11c]
cmp dword [edx], 0
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x50], ecx
jne 0x422117
lea eax, [esp + 0xb8]
push eax
mov ecx, str.ORIGINEXPLORER
call fcn.00409ae0
lea ecx, [esp + 0xb8]
mov byte [esp + 0x288], 0x29
or dword [esp + 0x4c], 1
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x230]
push edx
lea esi, [esp + 0x20]
call fcn.00422a50
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x4220b7
cmp eax, edi
je 0x4220bd
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], ebx
je 0x422117
lea eax, [esp + 0xb0]
push eax
mov ecx, str.ORIGINEXPLORER
call fcn.00409ae0
mov dword [esp + 0x288], 0x2a
or dword [esp + 0x4c], 2
lea ebx, [esp + 0xb0]
lea edi, [esp + 0x18]
call fcn.00422900
mov eax, dword [eax]
push 0xc
push eax
push str.iexplore.exe
call dword [sym.imp.MSVCR90.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x422117
cmp dword [esp + 0x5c], 5
mov byte [esp + 0x3b], 1
jne 0x42211c
mov byte [esp + 0x3b], 0
mov dword [esp + 0x288], 0x29
mov ebx, dword [esp + 0x4c]
test bl, 2
je 0x42215a
mov eax, dword [esp + 0xb0]
and ebx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42215a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x288], 0xc
test bl, 1
je 0x422194
mov eax, dword [esp + 0xb8]
and ebx, 0xfffffffe
add eax, 0xfffffff0
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422194
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x3b], 0
je 0x4221a3
mov dword [esp + 0x50], 0
cmp dword [esp + 0xc0], 0
je 0x4221b5
mov dword [esp + 0x50], 0x12
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x50]
mov ecx, dword [eax]
mov edx, dword [ecx]
push esi
push eax
call edx
cmp dword [esp + 0xc8], 1
jne 0x4221d3
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0xd8]
mov eax, dword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx]
call eax
lea ecx, [esp + 0x25c]
mov byte [esp + 0x288], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov esi, dword [esp + 0xc8]
mov edi, dword [esp + 0x40]
xor ebx, ebx
mov eax, dword [esp + 0xd0]
inc eax
cmp eax, esi
mov dword [esp + 0xd0], eax
jl 0x4207f1
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x5c]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push ecx
push eax
call edx
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x28c], 1
call fcn.004206b0
mov byte [esp + 0x288], 0
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422271
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x288], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42229c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x280]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.00436772
mov esp, ebp
pop ebp
ret 4
lea esi, [esp + 0x18]
mov byte [esp + 0x288], 4
call fcn.00422e00
mov ecx, dword [esp + 0x18]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
mov byte [esp + 0x28c], 0
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42230a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x288], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422335
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x42229e
lea esi, [esp + 0x18]
mov byte [esp + 0x288], 6
call fcn.00422e00
mov ecx, dword [esp + 0x18]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov byte [esp + 0x288], 0
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x422382
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x288], 0xffffffff
lea eax, [edi - 0x10]
jmp 0x42231c
lea esi, [esp + 0x18]
mov byte [esp + 0x288], 8
call fcn.00422e00
mov ecx, dword [esp + 0x18]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
mov byte [esp + 0x28c], 0
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x422382
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x288], 0xffffffff
lea eax, [edi - 0x10]
jmp 0x42231c
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x28c], 1
call fcn.004206b0
jmp 0x42235a
push 0x80070057
call fcn.00401070
push 0x8007000e
call fcn.00401070
push 0x80004005
call fcn.00401070
call fcn.00408c90
int3