Function at 0x406270
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424008
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push esi
push edi
mov eax, dword [0x42f8d8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [0x430e20]
push 0x82
push eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov ecx, esi
mov dword [0x430df8], eax
call fcn.00406170
test eax, eax
je 0x4062e8
xor ebx, ebx
cmp dword [esi + 0x64], ebx
je 0x4062c7
mov eax, dword [esi + 0x70]
jmp 0x4062cc
mov eax, 0x425478
push eax
lea ecx, [esi + 4]
call fcn.00410ab0
test eax, eax
jne 0x4062fc
push 0x10
push ebx
push str.Failed_to_read_ProxyCap_version_information
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004108a0
test eax, eax
je 0x4062e8
call fcn.00407bc0
call fcn.00407570
test eax, eax
jmp 0x40635a
call fcn.004072f0
test eax, eax
jmp 0x406399
mov eax, dword [0x430dac]
push eax
call fcn.0040fc10
add esp, 4
push 0x413fa4
mov ecx, esi
call fcn.00405da0
cmp eax, ebx
jmp 0x4063e9
push str.ProxyCap_Owner_Event3
push 1
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 0x3e8
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], vtable.CCArray.0
mov ecx, esi
mov dword [ebp - 4], 2
call fcn.00406010
test eax, eax
je 0x4064e6
call fcn.0040ad40
test eax, eax
je 0x4064e6
lea ecx, [ebp - 0x24]
push ecx
lea edi, [esi + 0x7c]
push edi
call fcn.0040bda0
add esp, 8
test eax, eax
jne 0x4064a8
cmp dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x14]
jne 0x406454
mov eax, 0x425478
push eax
lea edx, [ebp - 0x38]
push str.Failed_to_convert_ruleset_to_the_ProxyCap_3.0_format:__s
push edx
call fcn.0040e400
add esp, 0xc
cmp dword [esi + 0x34], ebx
je 0x406470
mov ecx, dword [esi + 0x40]
jmp 0x406475
mov ecx, 0x425478
cmp dword [eax + 4], ebx
je 0x406490
mov eax, dword [eax + 0x10]
push 0x30
push ecx
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x38]
jmp 0x406545
push 0x30
push ecx
mov eax, 0x425478
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x38]
jmp 0x406545
lea eax, [ebp - 0x24]
push eax
push edi
call fcn.0040b4f0
add esp, 8
test eax, eax
jne 0x40654a
cmp dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x14]
jne 0x4064ca
mov eax, 0x425478
push eax
lea ecx, [ebp - 0x38]
push str.Failed_to_save_ruleset:__s
push ecx
call fcn.0040e400
add esp, 0xc
cmp dword [esi + 0x34], ebx
je 0x406470
mov ecx, dword [esi + 0x40]
jmp 0x406475
lea edx, [ebp - 0x24]
push edx
lea eax, [esi + 0x7c]
push eax
call fcn.0040bc70
add esp, 8
test eax, eax
jne 0x40654a
cmp dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x14]
jne 0x406507
mov eax, 0x425478
push eax
lea ecx, [ebp - 0x4c]
push str.Failed_to_load_ruleset:__s
push ecx
call fcn.0040e400
add esp, 0xc
cmp dword [esi + 0x34], ebx
je 0x406523
mov ecx, dword [esi + 0x40]
jmp 0x406528
mov ecx, 0x425478
cmp dword [eax + 4], ebx
je 0x406532
mov eax, dword [eax + 0x10]
jmp 0x406537
mov eax, 0x425478
push 0x30
push ecx
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x4c]
call fcn.004013d0
mov ecx, esi
call fcn.00405ef0
mov edx, dword [esi + 0x44]
push edx
mov ecx, esi
call fcn.00406070
cmp dword [esi + 0x34], ebx
je 0x406566
mov eax, dword [esi + 0x40]
jmp 0x40656b
mov eax, 0x425478
mov ecx, dword [esi + 0x48]
push ecx
push eax
call fcn.0040ffe0
add esp, 8
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
lea edx, [ebp - 0x10]
push edx
push ebx
mov edi, eax
push edi
push 0x401710
push ebx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
call ebx
test eax, eax
jne 0x4065c1
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call fcn.004013d0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x430c20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40659e
mov ecx, 0x430c24
call fcn.004023c0
test eax, eax
je 0x40659e
mov ecx, dword [0x430c28]
lea edx, [ebp - 0x10]
push edx
push 0
lea eax, [esi + 0x74]
push eax
push 0x40a580
push 0
push 0
mov dword [eax], ecx
call ebx
test eax, eax
je 0x40659e
mov ecx, esi
call fcn.00405fb0
test eax, eax
je 0x40662c
mov eax, dword [0x430c28]
push 0
push 0x8003
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call fcn.004013d0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret