Function at 0x404f70
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a258f
mov eax, dword fs:[0]
push eax
sub esp, 0x3a0
mov eax, dword [0x4c8a00]
xor eax, esp
mov dword [esp + 0x398], eax
push ebx
push esi
push edi
mov eax, dword [0x4c8a00]
xor eax, esp
push eax
lea eax, [esp + 0x3b0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ebx, ecx
lea edi, [ebx + 0x2d0]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], edi
test edi, edi
je 0x404fe9
mov ecx, edi
call fcn.00420e30
mov ecx, esi
mov dword [esp + 0x3b8], 0
call fcn.00423a20
sub eax, 1
je 0x40502b
sub eax, 1
jne 0x40723e
push esi
mov esi, dword [esp + 0xdc]
add ebx, 0xffffff8c
push ebx
mov ecx, esi
call fcn.00412180
test edi, edi
je 0x407276
mov ecx, edi
jmp 0x407271
mov ecx, esi
call fcn.00423890
xor esi, esi
mov ebx, eax
xor edi, edi
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], vtable.CBuffer_unsigned_char_.0
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
cmp ebx, ecx
je 0x4050ba
mov eax, dword [ebx + 4]
mov dword [esp + 0x88], edi
mov dword [esp + 0x18], eax
test eax, eax
jbe 0x4050ba
cmp eax, esi
je 0x405094
mov edi, eax
push edi
call fcn.0044d207
mov esi, eax
add esp, 4
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edi
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 8]
push edx
push eax
push esi
call fcn.0046ca60
mov ebx, dword [ebx + 0xc]
add esp, 0xc
mov dword [esp + 0x90], edi
cmp ebx, edi
ja 0x4050ba
mov dword [esp + 0x90], ebx
mov byte [esp + 0x3b8], 1
test edi, edi
jne 0x4050dc
mov byte [esp + 0x3b8], 0
test esi, esi
je 0x40723e
push esi
jmp 0x407236
xor eax, eax
test edi, edi
jbe 0x4050eb
add byte [esi + eax], 0x64
inc eax
cmp eax, edi
jb 0x4050e2
xor eax, eax
xor esi, esi
lea ebx, [edi + 1]
mov dword [esp + method.CBuffer_unsigned_char_.virtual_0], vtable.CBuffer_unsigned_char_.0
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], eax
cmp ebx, eax
je 0x405131
jbe 0x405121
push ebx
call fcn.0044d207
add esp, 4
mov esi, eax
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], ebx
push ebx
push 0
push esi
mov byte [esp + 0x3c4], 2
call fcn.00470d40
mov ecx, dword [esp + 0x98]
add esp, 0xc
push edi
push ecx
push esi
call fcn.00479280
mov edi, 0xf
mov eax, esi
add esp, 0xc
mov dword [esp + 0x310], edi
mov dword [esp + 0x30c], 0
mov byte [esp + 0x2fc], 0
lea edx, [eax + 1]
jmp 0x405180
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405180
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x300]
call fcn.00414d90
xor ebx, ebx
mov byte [esp + 0x3b8], 3
cmp dword [esp + 0x30c], ebx
jne 0x405208
cmp dword [esp + 0x310], 0x10
jb 0x4051c4
mov edx, dword [esp + 0x2fc]
push edx
call fcn.0044d212
add esp, 4
mov dword [esp + 0x310], edi
mov byte [esp + 0x2fc], 0
mov dword [esp + 0x30c], ebx
cmp esi, ebx
je 0x4051e7
push esi
call fcn.0044d212
add esp, 4
mov byte [esp + 0x3b8], 0
cmp dword [esp + 0x8c], ebx
je 0x40723e
mov eax, dword [esp + 0x8c]
jmp 0x407235
lea ecx, [esp + 0x314]
call fcn.0042a710
push ebx
lea ecx, [esp + 0xe0]
mov byte [esp + 0x3bc], 4
call fcn.00425bb0
push ebx
lea ecx, [esp + 0x98]
mov byte [esp + 0x3bc], 5
call fcn.00425bb0
push 1
lea ecx, [esp + 0xe0]
push ecx
lea edx, [esp + 0x300]
push edx
lea ecx, [esp + 0x320]
mov byte [esp + 0x3c4], 6
call fcn.0042a790
test al, al
jne 0x405303
lea ecx, [esp + 0x94]
mov byte [esp + 0x3b8], 5
call fcn.00426160
lea ecx, [esp + 0xdc]
mov byte [esp + 0x3b8], 4
call fcn.00426160
lea edi, [esp + 0x314]
call fcn.004072a0
cmp dword [esp + 0x310], 0x10
jb 0x4052ba
mov eax, dword [esp + 0x2fc]
push eax
call fcn.0044d212
add esp, 4
mov dword [esp + 0x310], 0xf
mov dword [esp + 0x30c], ebx
mov byte [esp + 0x2fc], 0
cmp esi, ebx
je 0x4052e1
push esi
call fcn.0044d212
add esp, 4
mov byte [esp + 0x3b8], 0
cmp dword [esp + 0x8c], ebx
je 0x40723e
mov ecx, dword [esp + 0x8c]
push ecx
jmp 0x407236
lea ecx, [esp + 0xdc]
call fcn.00426b30
test al, al
jne 0x405371
lea ecx, [esp + 0x94]
mov byte [esp + 0x3b8], 5
call fcn.00426160
lea ecx, [esp + 0xdc]
mov byte [esp + 0x3b8], 4
call fcn.00426160
lea edi, [esp + 0x314]
call fcn.004072a0
cmp dword [esp + 0x310], 0x10
jb 0x405361
mov edx, dword [esp + 0x2fc]
push edx
call fcn.0044d212
add esp, 4
mov dword [esp + 0x310], 0xf
jmp 0x4051cb
lea ecx, [esp + 0x27c]
push ecx
call fcn.0041a0a0
push str.browsertourl
lea ecx, [esp + 0xe0]
mov byte [esp + 0x3bc], 7
mov dword [esp + 0xac], ebx
call fcn.004267d0
mov ecx, eax
call fcn.00426550
test eax, eax
jle 0x40718d
lea ecx, [ecx]
mov edx, dword [esp + 0xa8]
push edx
push str.browsertourl
lea ecx, [esp + 0xe4]
call fcn.004267d0
mov ecx, eax
call fcn.00426600
push eax
lea ecx, [esp + 0x98]
call fcn.00426270
call fcn.0044d2b5
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
cmp ecx, esi
je 0x406dd7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
push 0x4abc9e
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x3bc], 8
call fcn.00425d90
lea ecx, [esp + 0x19c]
push ecx
push 0x4ac0bc
lea edx, [esp + 0x254]
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3c4], 9
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0xa
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x24]
call fcn.00402020
lea ecx, [esp + 0x24c]
mov byte [esp + 0x3b8], 9
call fcn.00426160
lea ecx, [esp + 0x19c]
mov byte [esp + 0x3b8], 8
call fcn.00426160
mov dword [esp + 0x28], vtable.CArray_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____.0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
mov byte [esp + 0x3b8], 0xb
mov edi, dword [esp + 0x20]
xor ebx, ebx
cmp dword [edi - 0xc], ebx
jl 0x4056ba
push 0x4ac0c0
push edi
call fcn.0046c778
add esp, 8
cmp eax, ebx
je 0x4056b5
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
je 0x4056b5
cmp dword [edi - 0xc], ebx
jge 0x4054e2
or esi, 0xffffffff
jmp 0x4054ff
push 0x4ac0c0
push edi
call fcn.0046c778
add esp, 8
cmp eax, ebx
jne 0x4054f9
or esi, 0xffffffff
jmp 0x4054ff
sub eax, edi
sar eax, 1
mov esi, eax
push esi
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x28]
call fcn.00401e10
inc esi
push esi
lea ecx, [esp + 0xf4]
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x3c0], 0xc
call fcn.00414440
mov byte [esp + 0x3b8], 0xd
mov eax, dword [eax]
lea esi, [eax - 0x10]
lea ebx, [edi - 0x10]
cmp esi, ebx
je 0x4055e4
cmp dword [ebx + 0xc], 0
jl 0x4055d6
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x4055d6
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x405579
cmp eax, dword [esi]
jne 0x405579
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4055b4
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x406dc2
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0046c7d9
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4055cd
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add edi, 0x10
mov dword [esp + 0x20], edi
jmp 0x4055e4
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.00402540
mov byte [esp + 0x3b8], 0xc
mov eax, dword [esp + 0xf0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40560f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x30]
test edi, edi
jl 0x406fc0
mov eax, edi
inc eax
lea esi, [esp + 0x28]
call fcn.00416170
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x100]
mov esi, dword [ecx + edi*4]
lea ebx, [ecx + edi*4]
lea edi, [eax - 0x10]
sub esi, 0x10
cmp edi, esi
je 0x40568b
cmp dword [esi + 0xc], 0
jl 0x40567f
mov edx, dword [edi]
cmp edx, dword [esi]
jne 0x40567f
push edi
call fcn.00402640
mov dword [esp + 0x70], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x405674
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [esp + 0x6c]
add ecx, 0x10
mov dword [ebx], ecx
jmp 0x40568b
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, ebx
call fcn.00402540
mov byte [esp + 0x3b8], 0xb
lea edx, [edi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x4054a6
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
jmp 0x4054a6
cmp dword [edi - 0xc], ebx
je 0x4056e5
mov ebx, dword [esp + 0x30]
test ebx, ebx
jl 0x406fc0
mov eax, ebx
inc eax
lea esi, [esp + 0x28]
call fcn.00416170
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x20]
lea ecx, [ecx + ebx*4]
push edx
call fcn.00402260
xor ebx, ebx
xor esi, esi
cmp dword [esp + 0x30], ebx
mov dword [esp + 0x6c], esi
jle 0x405756
cmp esi, ebx
jl 0x406fc0
cmp esi, dword [esp + 0x30]
jge 0x406fc0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + esi*4]
mov ecx, 0x4ac0c4
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405736
cmp dx, bx
je 0x405732
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405736
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x405710
xor eax, eax
jmp 0x40573b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
sete al
test al, al
jne 0x405751
inc esi
cmp esi, dword [esp + 0x30]
mov dword [esp + 0x6c], esi
jl 0x4056f1
jmp 0x405756
cmp esi, 0xffffffff
jne 0x4057c0
mov byte [esp + 0x3b8], 8
cmp dword [esp + 0x2c], ebx
je 0x4057a3
xor esi, esi
cmp dword [esp + 0x30], ebx
jle 0x405796
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + esi*4]
sub eax, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40578f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, dword [esp + 0x30]
jl 0x40576c
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0044d212
add esp, 4
lea eax, [edi - 0x10]
mov byte [esp + 0x3b8], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x406d82
call fcn.0044d2b5
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x406dd7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
push 0x4abc9e
lea ecx, [esp + 0x190]
mov byte [esp + 0x3bc], 0xe
call fcn.00425d90
lea ecx, [esp + 0x18c]
push ecx
push str.process
lea edx, [esp + 0x224]
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3c4], 0xf
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x10
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x28]
call fcn.00402020
lea ecx, [esp + 0x21c]
mov byte [esp + 0x3b8], 0xf
call fcn.00426160
lea ecx, [esp + 0x18c]
mov byte [esp + 0x3b8], 0xe
call fcn.00426160
mov dword [esp + 0x44], vtable.CArray_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____.0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3b8], 0x11
mov ebx, dword [esp + 0x24]
cmp dword [ebx - 0xc], 0
jl 0x405afa
push 0x4ac0c0
push ebx
call fcn.0046c778
add esp, 8
test eax, eax
je 0x405af4
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
je 0x405af4
cmp dword [ebx - 0xc], 0
jge 0x4058c3
or esi, 0xffffffff
jmp 0x4058e0
push 0x4ac0c0
push ebx
call fcn.0046c778
add esp, 8
test eax, eax
jne 0x4058da
or esi, 0xffffffff
jmp 0x4058e0
sub eax, ebx
sar eax, 1
mov esi, eax
push esi
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x2c]
call fcn.00401e10
inc esi
push esi
lea ecx, [esp + 0x108]
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x3c0], 0x12
call fcn.00414440
mov byte [esp + 0x3b8], 0x13
mov eax, dword [eax]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x4059c5
cmp dword [ebx + 0xc], 0
jl 0x4059b7
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x4059b7
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x40595a
cmp eax, dword [esi]
jne 0x40595a
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x405995
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x406dc2
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0046c7d9
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4059ae
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add edi, 0x10
mov dword [esp + 0x24], edi
jmp 0x4059c5
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.00402540
mov byte [esp + 0x3b8], 0x12
mov eax, dword [esp + 0x104]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4059f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x4c]
test edi, edi
jl 0x406fc0
mov eax, edi
inc eax
lea esi, [esp + 0x44]
call fcn.00416170
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xfc]
lea ecx, [ecx + edi*4]
mov edi, dword [ecx]
lea esi, [edx - 0x10]
sub edi, 0x10
mov dword [esp + 0x18], ecx
cmp esi, edi
je 0x405aca
cmp dword [edi + 0xc], 0
jl 0x405ac0
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x405ac0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x405a61
cmp eax, dword [esi]
jne 0x405a61
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x405a9c
mov ecx, dword [esi + 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 0x406dc2
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esi + 0x10]
push edx
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0046c7d9
add esp, 0x10
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x405ab5
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [esp + 0x18]
add ebx, 0x10
mov dword [eax], ebx
jmp 0x405aca
mov eax, dword [edx - 0xc]
push eax
push edx
call fcn.00402540
mov byte [esp + 0x3b8], 0x11
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405887
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
jmp 0x405887
cmp dword [ebx - 0xc], 0
je 0x405b6f
mov edi, dword [esp + 0x4c]
test edi, edi
jl 0x406fc0
mov eax, edi
inc eax
lea esi, [esp + 0x44]
call fcn.00416170
mov eax, dword [esp + 0x48]
mov esi, dword [eax + edi*4]
lea edi, [eax + edi*4]
lea eax, [ebx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x405b6f
cmp dword [esi + 0xc], 0
jl 0x405b63
mov ecx, dword [eax]
cmp ecx, dword [esi]
jne 0x405b63
push eax
call fcn.00402640
mov dword [esp + 0x1c], eax
add esp, 4
lea eax, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x405b58
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov eax, dword [esp + 0x18]
add eax, 0x10
mov dword [edi], eax
jmp 0x405b6f
mov eax, dword [ebx - 0xc]
push eax
push ebx
mov ecx, edi
call fcn.00402540
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
xor esi, esi
test eax, eax
jle 0x405bb1
test esi, esi
jl 0x406fc0
cmp esi, eax
jge 0x406fc0
mov eax, dword [edi + esi*4]
push 0
push 0x4ab640
push eax
call fcn.0042ec80
add esp, 0xc
test eax, eax
jne 0x405d40
mov eax, dword [esp + 0x4c]
inc esi
cmp esi, eax
jl 0x405b7d
xor esi, esi
mov dword [esp + 0x70], vtable.CArray_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____.0
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov byte [esp + 0x3b8], 0x14
call fcn.0044d2b5
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
je 0x406dd7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x4abc9e
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x3bc], 0x15
call fcn.00425d90
lea ecx, [esp + 0x1cc]
push ecx
push str.version
lea edx, [esp + 0x1f4]
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3c4], 0x16
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x17
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x18]
call fcn.00402020
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x3b8], 0x16
call fcn.00426160
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x3b8], 0x15
call fcn.00426160
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], esi
jl 0x405fc8
mov ecx, eax
push 0x4ac0c0
push ecx
call fcn.0046c778
add esp, 8
test eax, eax
je 0x405fc8
sub eax, dword [esp + 0x14]
sar eax, 1
mov dword [esp + 0x1c], eax
cmp eax, 0xffffffff
je 0x405fc8
mov ebx, eax
push ebx
lea edx, [esp + 0x10c]
push edx
lea ecx, [esp + 0x1c]
call fcn.00401e10
inc ebx
push ebx
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c0], 0x18
call fcn.00414440
mov byte [esp + 0x3b8], 0x19
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
lea esi, [eax - 0x10]
lea ebx, [edi - 0x10]
cmp esi, ebx
je 0x405e61
cmp dword [ebx + 0xc], 0
jl 0x405e4f
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x405e4f
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x405df2
cmp eax, dword [esi]
jne 0x405df2
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x405e2d
mov byte [esp + 0x3b8], 0xe
test edi, edi
je 0x405d7f
xor esi, esi
mov edi, edi
mov eax, dword [edi + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405d6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, dword [esp + 0x4c]
jl 0x405d50
push edi
call fcn.0044d212
add esp, 4
add ebx, 0xfffffff0
mov byte [esp + 0x3b8], 0xb
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405da3
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [esp + 0x3b8], 8
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x406d66
mov edi, dword [esp + 0x30]
xor esi, esi
lea ecx, [ecx]
mov eax, dword [ebx + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405ddf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, edi
jl 0x405dc0
push ebx
call fcn.0044d212
add esp, 4
jmp 0x406d66
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x406dc2
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0046c7d9
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x405e46
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add edi, 0x10
mov dword [esp + 0x14], edi
jmp 0x405e5d
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00402540
mov edi, dword [esp + 0x14]
mov byte [esp + 0x3b8], 0x18
mov eax, dword [esp + 0x10c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405e8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [edi - 0xc], 0
jge 0x405e9b
or ebx, 0xffffffff
mov dword [esp + 0x1c], ebx
jmp 0x405ec0
push 0x4ac0c0
push edi
call fcn.0046c778
add esp, 8
test eax, eax
jne 0x405eb6
or ebx, 0xffffffff
mov dword [esp + 0x1c], ebx
jmp 0x405ec0
sub eax, edi
sar eax, 1
mov ebx, eax
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x78]
test edi, edi
jl 0x406fc0
mov eax, edi
inc eax
lea esi, [esp + 0x70]
call fcn.00416170
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x108]
lea ecx, [ecx + edi*4]
mov edi, dword [ecx]
lea esi, [edx - 0x10]
sub edi, 0x10
mov dword [esp + 0x18], ecx
cmp esi, edi
je 0x405f9e
cmp dword [edi + 0xc], 0
jl 0x405f94
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x405f94
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x405f31
cmp eax, dword [esi]
jne 0x405f31
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x405f6c
mov ecx, dword [esi + 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 0x406dc2
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esi + 0x10]
push edx
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0046c7d9
add esp, 0x10
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x405f85
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [esp + 0x18]
add ebx, 0x10
mov dword [eax], ebx
mov ebx, dword [esp + 0x1c]
jmp 0x405f9e
mov eax, dword [edx - 0xc]
push eax
push edx
call fcn.00402540
mov byte [esp + 0x3b8], 0x15
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405fbf
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
cmp ebx, 0xffffffff
jne 0x405cb7
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
je 0x406053
mov eax, dword [esp + 0x78]
mov edi, eax
test eax, eax
jl 0x406fc0
inc eax
lea esi, [esp + 0x70]
call fcn.00416170
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + edi*4]
lea edi, [ebx + edi*4]
add eax, 0xfffffff0
sub esi, 0x10
cmp eax, esi
je 0x406057
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x406043
mov ecx, dword [eax]
cmp ecx, dword [esi]
jne 0x406043
push eax
call fcn.00402640
add esp, 4
mov dword [esp + 0x18], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x406038
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov eax, dword [esp + 0x18]
add eax, 0x10
mov dword [edi], eax
jmp 0x406053
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00402540
mov ebx, dword [esp + 0x74]
xor esi, esi
cmp dword [esp + 0x78], esi
jle 0x4060cf
mov edi, dword [esp + 0xc8]
test esi, esi
jl 0x406fc0
cmp esi, dword [esp + 0x78]
jge 0x406fc0
mov ecx, dword [edi + 0x280]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x406dd7
mov eax, dword [ebx + esi*4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4060b6
test dx, dx
je 0x4060b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4060b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x406090
xor eax, eax
jmp 0x4060bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x4061bd
inc esi
cmp esi, dword [esp + 0x78]
jl 0x406066
call fcn.0044d2b5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x406dd7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push 0x4abc9e
lea ecx, [esp + 0x170]
mov byte [esp + 0x3bc], 0x1a
call fcn.00425d90
lea ecx, [esp + 0x16c]
push ecx
push str.area
lea edx, [esp + 0x234]
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3c4], 0x1b
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x1c
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x1c]
call fcn.00402020
lea ecx, [esp + 0x22c]
mov byte [esp + 0x3b8], 0x1b
call fcn.00426160
lea ecx, [esp + 0x16c]
mov byte [esp + 0x3b8], 0x1a
call fcn.00426160
mov esi, dword [esp + 0x18]
push ecx
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0xd0], esp
mov ebx, esp
mov dword [esp + 0xd0], esi
call edx
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4062e2
cmp eax, dword [esi]
jne 0x4062e2
mov edi, esi
mov eax, 1
lock xadd dword [edx], eax
jmp 0x40631d
mov byte [esp + 0x3b8], 0x14
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4061e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3b8], 0x11
test ebx, ebx
je 0x406222
xor esi, esi
mov eax, dword [ebx + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406212
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, dword [esp + 0x78]
jl 0x4061f3
push ebx
call fcn.0044d212
add esp, 4
mov byte [esp + 0x3b8], 0xe
mov edi, dword [esp + 0x48]
test edi, edi
je 0x40626d
mov ebx, dword [esp + 0x4c]
xor esi, esi
test ebx, ebx
jle 0x406264
lea esp, [esp]
mov eax, dword [edi + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40625f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jl 0x406240
push edi
call fcn.0044d212
add esp, 4
mov byte [esp + 0x3b8], 0xb
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406295
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3b8], 8
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x406d66
mov ebx, dword [esp + 0x30]
xor esi, esi
nop
mov eax, dword [edi + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4062cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jl 0x4062b0
push edi
call fcn.0044d212
add esp, 4
jmp 0x406d66
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x406dc2
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esi + 0x10]
push edx
lea eax, [eax + eax + 2]
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0046c7d9
add esp, 0x10
lea edx, [esp + 0x280]
add edi, 0x10
push edx
mov dword [ebx], edi
call fcn.0041c150
test eax, eax
je 0x406482
mov byte [esp + 0x3b8], 0x15
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406358
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [esp + 0x3b8], 0x14
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406380
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3b8], 0x11
mov edi, dword [esp + 0x74]
test edi, edi
je 0x4063c7
mov ebx, dword [esp + 0x78]
xor esi, esi
test ebx, ebx
jle 0x4063be
mov eax, dword [edi + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4063b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jl 0x40639a
push edi
call fcn.0044d212
add esp, 4
mov byte [esp + 0x3b8], 0xe
mov edi, dword [esp + 0x48]
test edi, edi
je 0x40640e
mov ebx, dword [esp + 0x4c]
xor esi, esi
test ebx, ebx
jle 0x406405
mov eax, dword [edi + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406400
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jl 0x4063e1
push edi
call fcn.0044d212
add esp, 4
mov byte [esp + 0x3b8], 0xb
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406436
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3b8], 8
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x406d66
mov ebx, dword [esp + 0x30]
xor esi, esi
mov eax, dword [edi + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40646f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jl 0x406450
push edi
call fcn.0044d212
add esp, 4
jmp 0x406d66
push 0xa
lea ecx, [esp + 0x128]
call fcn.0045442d
push 0xa
lea ecx, [esp + 0x144]
mov byte [esp + 0x3bc], 0x1d
call fcn.0045442d
push str.urlmap
lea ecx, [esp + 0x98]
mov byte [esp + 0x3bc], 0x1e
mov dword [esp + 0xb0], 0
call fcn.004267d0
mov ecx, eax
call fcn.00426550
test eax, eax
jle 0x406bb1
call fcn.0044d2b5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x406dd7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x3b8], 0x1f
call fcn.0044d2b5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x406dd7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0x3b8], 0x20
call fcn.0044d2b5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x406dd7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x4abc9e
lea ecx, [esp + 0x180]
mov byte [esp + 0x3bc], 0x21
call fcn.00425d90
mov esi, dword [esp + 0xac]
lea ecx, [esp + 0x17c]
push ecx
push str.name
lea edx, [esp + 0x264]
push edx
push esi
push str.urlmap
lea ecx, [esp + 0xa8]
mov byte [esp + 0x3cc], 0x22
call fcn.004267d0
mov ecx, eax
call fcn.00426600
mov ecx, eax
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x23
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x20]
call fcn.00402020
lea ecx, [esp + 0x25c]
mov byte [esp + 0x3b8], 0x22
call fcn.00426160
lea ecx, [esp + 0x17c]
mov byte [esp + 0x3b8], 0x21
call fcn.00426160
push 0x4abc9e
lea ecx, [esp + 0x160]
call fcn.00425d90
lea eax, [esp + 0x15c]
push eax
push str.process
lea ecx, [esp + 0x204]
push ecx
push esi
push str.urlmap
lea ecx, [esp + 0xa8]
mov byte [esp + 0x3cc], 0x24
call fcn.004267d0
mov ecx, eax
call fcn.00426600
mov ecx, eax
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x25
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x14]
call fcn.00402020
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x3b8], 0x24
call fcn.00426160
lea ecx, [esp + 0x15c]
mov byte [esp + 0x3b8], 0x21
call fcn.00426160
push 0x4abc9e
lea ecx, [esp + 0x1c0]
call fcn.00425d90
lea edx, [esp + 0x1bc]
push edx
push 0x4ac100
lea eax, [esp + 0x274]
mov byte [esp + 0x3c0], 0x26
push eax
push esi
push str.urlmap
lea ecx, [esp + 0xa8]
call fcn.004267d0
mov ecx, eax
call fcn.00426600
mov ecx, eax
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x27
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x40]
call fcn.00402020
lea ecx, [esp + 0x26c]
mov byte [esp + 0x3b8], 0x26
call fcn.00426160
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x3b8], 0x21
call fcn.00426160
xor ebx, ebx
mov dword [esp + 0x58], vtable.CArray_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____.0
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0x3b8], 0x28
jmp 0x406744
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x1c]
cmp dword [esi - 0xc], 0
jl 0x40686b
push 0x4ac0c0
push esi
call fcn.0046c778
add esp, 8
test eax, eax
je 0x406865
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x406865
cmp dword [esi - 0xc], 0
jge 0x406780
or esi, 0xffffffff
jmp 0x40679d
push 0x4ac0c0
push esi
call fcn.0046c778
add esp, 8
test eax, eax
jne 0x406797
or esi, 0xffffffff
jmp 0x40679d
sub eax, esi
sar eax, 1
mov esi, eax
push esi
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x24]
call fcn.00401e10
inc esi
push esi
lea edx, [esp + 0x114]
push edx
lea ecx, [esp + 0x24]
mov byte [esp + 0x3c0], 0x29
call fcn.00414440
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x3bc], 0x2a
call fcn.00402260
mov byte [esp + 0x3b8], 0x29
mov eax, dword [esp + 0x110]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406807
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, ebx
test ebx, ebx
jl 0x406fc0
lea eax, [ebx + 1]
lea esi, [esp + 0x58]
call fcn.00416170
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0xc4]
lea ecx, [ecx + edi*4]
push edx
call fcn.00402260
mov byte [esp + 0x3b8], 0x28
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406740
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x406740
cmp dword [esi - 0xc], 0
je 0x406894
test ebx, ebx
jl 0x406fc0
lea eax, [ebx + 1]
lea esi, [esp + 0x58]
call fcn.00416170
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x1c]
lea ecx, [ecx + ebx*4]
push edx
call fcn.00402260
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x3c]
xor esi, esi
test ebx, ebx
jle 0x4068f2
mov edi, edi
test esi, esi
jl 0x406fc0
cmp esi, ebx
jge 0x406fc0
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + esi*4]
push eax
lea ecx, [esp + 0x128]
call fcn.004546b8
test edi, edi
jne 0x4068cc
xor edx, edx
jmp 0x4068e4
mov edx, edi
lea ecx, [edx + 2]
mov di, word [edx]
add edx, 2
test di, di
jne 0x4068d1
mov edi, dword [esp + 0x3c]
sub edx, ecx
sar edx, 1
push edx
push edi
mov ecx, eax
call fcn.00402540
inc esi
cmp esi, ebx
jl 0x4068a0
xor eax, eax
mov dword [esp + 0xb0], vtable.CArray_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____.0
mov dword [esp + 0xb4], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], eax
mov byte [esp + 0x3b8], 0x2b
jmp 0x406930
mov esi, dword [esp + 0x10]
cmp dword [esi - 0xc], 0
mov ebx, dword [esp + 0xb8]
jl 0x406a5b
push 0x4ac0c0
push esi
call fcn.0046c778
add esp, 8
test eax, eax
je 0x406a55
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x406a55
cmp dword [esi - 0xc], 0
jge 0x406973
or esi, 0xffffffff
jmp 0x406990
push 0x4ac0c0
push esi
call fcn.0046c778
add esp, 8
test eax, eax
jne 0x40698a
or esi, 0xffffffff
jmp 0x406990
sub eax, esi
sar eax, 1
mov esi, eax
push esi
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x18]
call fcn.00401e10
inc esi
push esi
lea edx, [esp + 0xf8]
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c0], 0x2c
call fcn.00414440
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3bc], 0x2d
call fcn.00402260
mov byte [esp + 0x3b8], 0x2c
mov eax, dword [esp + 0xf4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4069f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, ebx
test ebx, ebx
jl 0x406fc0
lea eax, [ebx + 1]
lea esi, [esp + 0xb0]
call fcn.00416170
mov ecx, dword [esp + 0xb4]
lea edx, [esp + 0x40]
lea ecx, [ecx + edi*4]
push edx
call fcn.00402260
mov byte [esp + 0x3b8], 0x2b
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406930
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x406930
cmp dword [esi - 0xc], 0
je 0x406a8d
test ebx, ebx
jl 0x406fc0
lea eax, [ebx + 1]
lea esi, [esp + 0xb0]
call fcn.00416170
mov ecx, dword [esp + 0xb4]
lea edx, [esp + 0x10]
lea ecx, [ecx + ebx*4]
push edx
call fcn.00402260
mov ebx, dword [esp + 0xb8]
xor edi, edi
test ebx, ebx
mov ebx, dword [esp + 0x3c]
jle 0x406af2
test edi, edi
jl 0x406fc0
cmp edi, dword [esp + 0xb8]
jge 0x406fc0
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + edi*4]
push eax
lea ecx, [esp + 0x144]
call fcn.004546b8
test ebx, ebx
jne 0x406acb
xor edx, edx
jmp 0x406adf
mov edx, ebx
lea ecx, [edx + 2]
mov si, word [edx]
add edx, 2
test si, si
jne 0x406ad0
sub edx, ecx
sar edx, 1
push edx
push ebx
mov ecx, eax
call fcn.00402540
inc edi
cmp edi, dword [esp + 0xb8]
jl 0x406a97
lea edi, [esp + 0xb0]
call fcn.004159d0
lea edi, [esp + 0x58]
call fcn.004159d0
mov byte [esp + 0x3b8], 0x20
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xfffffff0
mov byte [esp + 0x3b8], 0x1f
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b53
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [esp + 0x3b8], 0x1e
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b7b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0xac]
inc esi
push str.urlmap
lea ecx, [esp + 0x98]
mov dword [esp + 0xb0], esi
call fcn.004267d0
mov ecx, eax
call fcn.00426550
cmp esi, eax
jl 0x4064d9
mov esi, dword [esp + 0xcc]
cmp dword [esp + 0x130], 0
jne 0x406c0d
lea ecx, [esp + 0x140]
mov byte [esp + 0x3b8], 0x1d
call fcn.0045455e
lea ecx, [esp + 0x124]
mov byte [esp + 0x3b8], 0x1a
call fcn.0045455e
mov byte [esp + 0x3b8], 0x15
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406cfb
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
jmp 0x406cfb
push 0
lea ecx, [esp + 0x1e0]
call fcn.00425cd0
lea ecx, [esp + 0x1dc]
push ecx
push str.sleep
lea edx, [esp + 0x244]
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3c4], 0x2e
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x2f
call fcn.00426370
lea ecx, [esp + 0x23c]
mov edi, eax
mov byte [esp + 0x3b8], 0x2e
call fcn.00426160
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x3b8], 0x1e
call fcn.00426160
test edi, edi
je 0x406c8e
imul edi, edi, 0x3e8
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x280]
push ecx
lea ecx, [esp + 0x148]
call fcn.0041c1d0
test eax, eax
jne 0x406dc7
lea ecx, [esp + 0x140]
mov byte [esp + 0x3b8], 0x1d
call fcn.0045455e
lea ecx, [esp + 0x124]
mov byte [esp + 0x3b8], 0x1a
call fcn.0045455e
mov byte [esp + 0x3b8], 0x15
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x406cfb
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [esp + 0x3b8], 0x14
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d23
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esp + 0x70]
call fcn.004159d0
lea edi, [esp + 0x44]
call fcn.004159d0
mov byte [esp + 0x3b8], 0xb
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d5d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esp + 0x28]
call fcn.004159d0
mov byte [esp + 0x3b8], 7
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0xa8]
inc esi
push str.browsertourl
lea ecx, [esp + 0xe0]
mov dword [esp + 0xac], esi
call fcn.004267d0
mov ecx, eax
call fcn.00426550
cmp esi, eax
jl 0x4053b0
jmp 0x40718d
call fcn.00402780
call fcn.0044d2b5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406de1
push 0x80004005
call fcn.004010b0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x4abc9e
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x3bc], 0x30
call fcn.00425d90
lea ecx, [esp + 0x1ac]
push ecx
push 0x4ac10c
lea edx, [esp + 0x214]
mov bl, 0x31
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3c4], bl
call fcn.00426a80
mov ecx, eax
mov byte [esp + 0x3b8], 0x32
call fcn.0043d8c0
push eax
lea ecx, [esp + 0x14]
call fcn.00402020
lea ecx, [esp + 0x20c]
mov byte [esp + 0x3b8], bl
call fcn.00426160
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x3b8], 0x30
call fcn.00426160
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x58], vtable.CArray_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____.0
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov byte [esp + 0x3b8], 0x33
jmp 0x406ea4
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
cmp dword [esi - 0xc], 0
jl 0x406fbc
push 0x4ac0c0
push esi
call fcn.0046c778
add esp, 8
test eax, eax
je 0x406fb6
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x406fb6
cmp dword [esi - 0xc], 0
jge 0x406ee0
or esi, 0xffffffff
jmp 0x406efd
push 0x4ac0c0
push esi
call fcn.0046c778
add esp, 8
test eax, eax
jne 0x406ef7
or esi, 0xffffffff
jmp 0x406efd
sub eax, esi
sar eax, 1
mov esi, eax
push esi
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
call fcn.00401e10
inc esi
push esi
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c0], 0x34
call fcn.00414440
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3bc], 0x35
call fcn.00402260
mov byte [esp + 0x3b8], 0x34
mov eax, dword [esp + 0xf8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406f64
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
jl 0x406fc0
lea eax, [edi + 1]
lea esi, [esp + 0x58]
call fcn.00416170
mov ebx, dword [esp + 0x5c]
lea edx, [esp + 0x40]
lea ecx, [ebx + edi*4]
push edx
call fcn.00402260
mov byte [esp + 0x3b8], 0x33
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ea0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x406ea0
cmp dword [esi - 0xc], 0
je 0x406fe6
test edi, edi
jge 0x406fc5
call fcn.0044db4c
lea eax, [edi + 1]
lea esi, [esp + 0x58]
call fcn.00416170
mov ebx, dword [esp + 0x5c]
lea edx, [esp + 0x10]
lea ecx, [ebx + edi*4]
push edx
call fcn.00402260
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x10]
call fcn.00402490
mov eax, dword [esp + 0x6c]
cmp edi, eax
jle 0x407004
test eax, eax
jl 0x406fc0
cmp eax, edi
jge 0x406fc0
lea ebx, [ebx + eax*4]
jmp 0x407008
test edi, edi
jle 0x407012
push ebx
lea ecx, [esp + 0x14]
call fcn.00402260
mov esi, dword [esp + 0x10]
cmp dword [esi - 0xc], 0
je 0x40707d
push str.gamestart_setbrowser
lea ecx, [esp + 0xd4]
call fcn.00401c60
mov eax, dword [esp + 0xc8]
add eax, 0x2e0
push eax
lea ecx, [esp + 0x14]
lea edx, [esp + 0xd4]
mov byte [esp + 0x3bc], 0x36
call fcn.0041da30
mov byte [esp + 0x3b8], 0x33
mov eax, dword [esp + 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40707d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esp + 0x58]
call fcn.004159d0
lea eax, [esi - 0x10]
mov byte [esp + 0x3b8], 0x1e
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4070aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x140]
mov byte [esp + 0x3b8], 0x1d
call fcn.0045455e
lea ecx, [esp + 0x124]
mov byte [esp + 0x3b8], 0x1a
call fcn.0045455e
mov byte [esp + 0x3b8], 0x15
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4070fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3b8], 0x14
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407122
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esp + 0x70]
call fcn.004159d0
lea edi, [esp + 0x44]
call fcn.004159d0
mov byte [esp + 0x3b8], 0xb
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40715c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esp + 0x28]
call fcn.004159d0
mov byte [esp + 0x3b8], 7
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40718d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x27c]
push ecx
mov byte [esp + 0x3bc], 6
call fcn.0041a160
lea ecx, [esp + 0x94]
mov byte [esp + 0x3b8], 5
call fcn.00426160
lea ecx, [esp + 0xdc]
mov byte [esp + 0x3b8], 4
call fcn.00426160
lea edi, [esp + 0x314]
call fcn.004072a0
cmp dword [esp + 0x310], 0x10
jb 0x4071f0
mov edx, dword [esp + 0x2fc]
push edx
call fcn.0044d212
add esp, 4
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x310], 0xf
mov dword [esp + 0x30c], 0
mov byte [esp + 0x2fc], 0
test eax, eax
je 0x407222
push eax
call fcn.0044d212
add esp, 4
mov byte [esp + 0x3b8], 0
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x40723e
push eax
call fcn.0044d212
add esp, 4
mov esi, dword [esp + 0xd8]
xor eax, eax
push eax
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], 0
push 0x4ab640
mov ecx, esi
mov word [esi + 4], ax
call fcn.00414ff0
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x407276
call fcn.00420e60
mov eax, esi
mov ecx, dword [esp + 0x3b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x398]
xor ecx, esp
call fcn.0046c016
mov esp, ebp
pop ebp
ret 0x10