Function at 0x440640
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473b43
mov eax, dword fs:[0]
push eax
sub esp, 0x438
mov eax, dword [0x490654]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov edi, edx
mov esi, ecx
push str.partnerImg
mov ecx, edi
mov dword [ebp - 0x434], esi
mov dword [ebp - 0x420], edi
mov dword [ebp - 0x438], ebx
call fcn.0043fbb0
xor ecx, ecx
mov dword [ebp - 4], ecx
lea eax, [esi + 0x8e4]
mov dword [esi], vtable.PartnerPageWithImage.0
mov dword [ebp - 0x41c], eax
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov byte [ebp - 4], 1
mov dword [esi + 0x8cc], ebx
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x428], eax
mov eax, edi
call fcn.00404085
mov edx, dword [edi]
mov ebx, eax
mov eax, dword [edx + 0x3c]
mov ecx, edi
call eax
mov ecx, dword [edi + 0x14]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x430], ecx
xor eax, eax
mov ecx, 0x480a96
movzx edx, word [ecx - 2]
mov edi, eax
shl edi, 5
sub edi, eax
add edx, edi
mov eax, edx
shl eax, 5
sub eax, edx
movzx edx, word [ecx]
add eax, edx
mov edx, eax
shl edx, 5
sub edx, eax
movzx eax, word [ecx + 2]
add ecx, 6
add eax, edx
cmp ecx, str.partner
jl 0x4406f2
lea edx, [ebp - 0x414]
mov dword [ebp - 0x414], eax
call fcn.0041c500
mov eax, dword [eax]
test eax, eax
jne 0x44073f
mov eax, 0x480a94
mov ecx, dword [ebp - 0x424]
add ecx, 0xaec
push ecx
push eax
push 0x200
lea edx, [ebp - 0x410]
push 0x200
push edx
call fcn.004534e2
add esp, 0x14
lea eax, [ebp - 0x410]
push eax
lea edi, [esi + 0x8a4]
call fcn.00402626
mov eax, dword [ebp - 0x420]
call fcn.00404085
mov ecx, dword [eax + 8]
mov esi, dword [ebp - 0x438]
mov eax, dword [esi + 4]
sub eax, dword [esi]
mov dword [ebp - 0x414], ecx
sar eax, 2
dec eax
mov dword [ebp - 0x418], 0x14
mov dword [ebp - 0x424], eax
jns 0x4407ea
push 0xc
call fcn.00453217
add esp, 4
test eax, eax
je 0x4409b1
mov edx, dword [ebp - 0x430]
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 8]
sub ecx, dword [ebp - 0x418]
mov dword [eax], vtable.ImageLoadedCallbackResizeToRect.0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov edi, eax
jmp 0x4409b3
mov eax, dword [ebp - 0x424]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
sub edx, ecx
sar edx, 2
cmp edx, eax
jbe 0x440a2e
mov ebx, dword [ecx + eax*4]
mov esi, dword [ebp - 0x430]
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0x414]
mov edi, dword [ebx + 4]
push ecx
lea edx, [edx - 0xa]
call fcn.0043f340
push 0x48
mov edi, eax
call fcn.00453217
add esp, 8
mov dword [ebp - 0x42c], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x440862
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov ebx, dword [ebx + 4]
push edi
add edx, 0xfffffff6
push edx
mov edx, dword [ebp - 0x414]
push edx
mov edx, dword [ebp - 0x428]
sub ecx, edi
sub ecx, dword [ebp - 0x418]
push ebx
push eax
call fcn.0043f450
mov ebx, eax
jmp 0x440864
xor ebx, ebx
add dword [ebp - 0x418], edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x42c], ebx
test ebx, ebx
je 0x44087d
lea edx, [ebx + 4]
jmp 0x44087f
xor edx, edx
test edx, edx
je 0x4408a9
xor eax, eax
jmp 0x440890
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + eax*4 + 0x20], 0
je 0x4408a5
inc eax
cmp eax, 0x20
jl 0x440890
jmp 0x4408a9
mov dword [ecx + eax*4 + 0x20], edx
mov eax, dword [ebx + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [ebp - 0x41c]
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x42c]
cmp ecx, eax
jae 0x440936
mov edx, dword [edi]
cmp edx, ecx
ja 0x440936
mov ebx, ecx
mov ecx, dword [edi + 8]
sub ebx, edx
sar ebx, 2
cmp eax, ecx
jne 0x440919
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x4409a7
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x440919
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x440909
xor ecx, ecx
jmp 0x44090b
add ecx, edx
cmp ecx, eax
jae 0x440911
mov ecx, eax
push ecx
mov esi, edi
call fcn.0043d190
mov eax, dword [edi + 4]
mov edx, dword [edi]
push eax
push 4
lea esi, [edx + ebx*4]
call fcn.0040430f
add esp, 8
test eax, eax
je 0x44098c
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x44098c
mov ecx, dword [edi + 8]
cmp eax, ecx
jne 0x440978
mov edx, dword [edi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x4409a7
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x440978
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x440968
xor ecx, ecx
jmp 0x44096a
add ecx, edx
cmp ecx, eax
jae 0x440970
mov ecx, eax
push ecx
mov esi, edi
call fcn.0043d190
mov eax, dword [edi + 4]
push eax
push 4
call fcn.0040430f
add esp, 8
test eax, eax
je 0x44098c
mov dword [eax], ebx
add dword [edi + 4], 4
dec dword [ebp - 0x424]
mov esi, dword [ebp - 0x438]
jns 0x4407e4
jmp 0x4407ad
push str.vector_T__too_long
call fcn.00451b80
xor edi, edi
push 0x64
call fcn.00453217
mov ebx, eax
add esp, 4
mov dword [ebp - 0x41c], ebx
mov byte [ebp - 4], 3
test ebx, ebx
je 0x440a00
mov eax, dword [ebp - 0x420]
call fcn.00404085
mov edx, dword [ebp - 0x414]
mov eax, dword [eax + 4]
push edi
push 0
push 2
push edx
push eax
mov eax, dword [ebp - 0x428]
push eax
mov ecx, 0xa
push ebx
mov ebx, ecx
call fcn.00449a80
mov ebx, eax
jmp 0x440a02
xor ebx, ebx
mov eax, dword [ebp - 0x420]
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x434]
mov dword [edi + 0x8e0], ebx
call fcn.00404085
mov ecx, dword [eax + 0xc]
mov eax, dword [esi]
mov edx, dword [esi + 4]
sub edx, eax
sar edx, 2
test edx, edx
jne 0x440a38
push str.invalid_vector_T__subscript
call fcn.00451bcd
mov eax, dword [eax]
mov eax, dword [eax + 4]
push ecx
add eax, 0xa88
call fcn.00402637
push ebx
mov ebx, eax
call fcn.00449ce0
mov eax, dword [edi + 0x8e0]
mov eax, dword [eax + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [edi + 0x8e0]
test eax, eax
je 0x440a71
lea ecx, [eax + 4]
jmp 0x440a73
xor ecx, ecx
test ecx, ecx
je 0x440a93
xor eax, eax
lea esp, [esp]
cmp dword [edi + eax*4 + 0x20], 0
je 0x440a8f
inc eax
cmp eax, 0x20
jl 0x440a80
jmp 0x440a93
mov dword [edi + eax*4 + 0x20], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, eax
sar ecx, 2
test ecx, ecx
jne 0x440aab
push str.invalid_vector_T__subscript
call fcn.00451bcd
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, 0xaa4
push eax
lea edx, [ebp - 0x444]
push edx
call fcn.00441880
mov eax, dword [ebp - 0x420]
mov byte [ebp - 4], 4
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x10]
sub eax, 0x2d
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x444]
mov ecx, dword [eax]
mov dword [ebp - 0x414], ecx
cmp ecx, eax
jne 0x440b56
mov ecx, dword [eax]
mov dword [eax], eax
mov eax, dword [ebp - 0x444]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x440], 0
cmp ecx, eax
je 0x440b27
mov edi, edi
mov esi, dword [ecx]
push ecx
call fcn.004531bb
mov eax, dword [ebp - 0x444]
add esp, 4
mov ecx, esi
cmp esi, eax
jne 0x440b10
push eax
call fcn.004531bb
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00452c94
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0x414]
mov edx, dword [ecx + 8]
push 0x424
mov dword [ebp - 0x428], edx
call fcn.00453217
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x440c41
mov eax, dword [0x495198]
mov esi, dword [eax + 8]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x41c], edx
call fcn.00402637
mov dword [ebp - 0x430], eax
mov eax, 0x14
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x418]
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], 0xc8
mov dword [ebx + 0x18], eax
mov dword [ebx], vtable.LinkLabel.0
call fcn.00449e50
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [esi + 0xc]
push 0
push 0
push 0
push edx
push 0x14
push 0xc8
push eax
push 0x14
push 0x50000000
push 0
push str.myLinkLabelClass
push 0
mov dword [ebx + 0x1c], ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
push ebx
push 0xffffffffffffffeb
push eax
mov dword [ebx + 4], eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov ecx, dword [ebp - 0x430]
push ecx
lea edx, [ebx + 0x20]
push 0x100
push edx
call fcn.004532c1
mov edi, dword [ebp - 0x434]
add esp, 0xc
mov dword [ebx + 0x220], 0
mov dword [ebx], vtable.UrlLinkLabel.0
jmp 0x440c43
xor ebx, ebx
mov eax, dword [ebp - 0x428]
add eax, 0x1c
mov dword [ebp - 0x41c], ebx
call fcn.00402637
push eax
lea eax, [ebx + 0x224]
push 0x100
push eax
call fcn.004532c1
mov esi, dword [edi + 0x8c0]
mov edx, dword [esi + 4]
add esp, 0xc
lea ecx, [ebp - 0x41c]
push ecx
push edx
push esi
call fcn.00415e50
mov ecx, dword [edi + 0x8c4]
mov edx, 0x3ffffffe
sub edx, ecx
cmp edx, 1
jb 0x440cd8
inc ecx
mov dword [edi + 0x8c4], ecx
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov edx, dword [ebx + 4]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x414]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x444]
add dword [ebp - 0x418], 0x11
mov dword [ebp - 0x414], ecx
cmp ecx, eax
jne 0x440b50
jmp 0x440aed
push str.list_T__too_long
call fcn.00451b80
int3