Function at 0x501fb358
Capabilities:
Check http status code

Disassembly:
push ebp
lea ebp, [esp - 0x64]
sub esp, 0x170
push ebx
push esi
xor esi, esi
cmp dword [ebp + 0x6c], esi
mov ebx, ecx
mov dword [ebp + 0x60], esi
jne 0x501fb37b
mov eax, 0x80040104
jmp 0x501fc6a1
push edi
mov edi, dword [ebp + 0x70]
push 0x50002490
push dword [ebp + 0x6c]
call fcn.5002e451
test eax, eax
je 0x501fc206
cmp edi, 1
je 0x501fb3bf
cmp edi, 0x8c
je 0x501fb3bf
cmp edi, 3
jne 0x501fb3b6
mov ax, word [0x5029f6b4]
and ax, 0x3ff
cmp ax, 0x12
je 0x501fb3d2
push 1
mov ecx, ebx
call fcn.50272bbe
mov eax, 0x474
cmp edi, eax
ja 0x501fc1d7
je 0x501fc1c5
lea eax, [edi - 1]
cmp eax, 0x8c
ja case.0x501fb3e0.55
jmp dword [eax*4 + 0x501fc6aa]
mov eax, dword [ebp + 0x78]
movzx eax, word [eax + 8]
push eax
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
push 1
push 1
jmp 0x501fc306
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
jmp 0x501fbd31
cmp dword [ebp + 0x70], 5
lea edi, [ebx + 0x2e8]
mov ecx, dword [edi]
sete byte [ebp + 0x53]
call fcn.50225cbf
test eax, eax
setne byte [ebp + 0x5b]
cmp byte [ebp + 0x5b], 0
jne 0x501fb499
cmp byte [ebp + 0x53], 0
jne 0x501fb499
mov ecx, dword [edi]
call fcn.5022545a
test eax, eax
jne 0x501fb4d6
cmp dword [ebp + 0x60], esi
jl 0x501fb4c6
call fcn.50272bbe
cmp eax, esi
je 0x501fb4c6
test byte [ebx + 0xac], 2
jne 0x501fb4b7
call fcn.5021e491
jmp 0x501fb4c6
mov ecx, dword [eax]
xor edx, edx
cmp byte [ebp + 0x53], dl
sete dl
push edx
push eax
call dword [ecx + 0x60]
cmp byte [ebp + 0x5b], 0
je 0x501fb4d6
movzx eax, byte [ebp + 0x53]
push eax
jmp 0x501fba60
movzx eax, byte [ebp + 0x53]
push eax
mov ecx, ebx
call fcn.501f87e0
jmp 0x501fbf17
mov ecx, dword [ebx + 0x128]
cmp ecx, esi
je 0x501fb506
push esi
push 0x26
push 0x101
call fcn.502105c9
test eax, eax
je 0x501fbd31
push esi
push esi
push 2
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, dword [ebx + 0x128]
cmp ecx, esi
je 0x501fb535
push esi
push 0x28
push 0x101
call fcn.502105c9
test eax, eax
je 0x501fbd31
push esi
push esi
jmp 0x501fb57b
push esi
push esi
jmp 0x501fb544
push esi
jmp 0x501fb542
push 1
push 1
push 4
jmp 0x501fb50a
push esi
push esi
jmp 0x501fb553
push esi
jmp 0x501fb551
push 1
push 1
push 5
jmp 0x501fb50a
push esi
jmp 0x501fb55c
push 1
xor eax, eax
cmp dword [ebx + 0x128], esi
sete al
push eax
jmp 0x501fb508
push esi
jmp 0x501fb56f
push 1
xor eax, eax
cmp dword [ebx + 0x128], esi
sete al
push eax
push 3
jmp 0x501fb50a
mov eax, dword [ebx]
lea ecx, [ebp + 0x54]
push ecx
lea ecx, [ebp + 0x5c]
push ecx
push ebx
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x54], esi
call dword [eax + 0x40]
push 2
push 0x11
push dword [ebp + 0x54]
mov ecx, ebx
push dword [ebp + 0x5c]
call fcn.50272bbe
sub edi, 0xf
je 0x501fb5cd
dec edi
je 0x501fb5c3
dec edi
je 0x501fb5bb
dec edi
jne 0x501fbd31
push esi
push 1
jmp 0x501fb5bd
push esi
push esi
push esi
jmp 0x501fb50a
push esi
push 1
push 1
jmp 0x501fb50a
push esi
push esi
jmp 0x501fb5c6
push esi
push esi
push 4
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push esi
jmp 0x501fc0f1
push esi
push esi
jmp 0x501fc0fc
push esi
jmp 0x501fc0fa
push esi
push 4
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push 1
jmp 0x501fb5f5
push esi
jmp 0x501fb60c
push 1
push 5
jmp 0x501fb5f7
push esi
push 2
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push 1
jmp 0x501fb611
push esi
jmp 0x501fb628
push 1
push 3
jmp 0x501fb613
mov eax, dword [ebx + 0x2e8]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
push esi
lea ecx, [ebx + 0xa8]
mov dword [ebp + 0x54], eax
call fcn.501e6281
push eax
push dword [ebx + 0x31c]
mov ecx, ebx
push edi
push dword [ebp + 0x54]
call fcn.50272bbe
push eax
push dword [ebx + 0x31c]
mov ecx, ebx
jmp 0x501fb6fe
mov eax, dword [ebx + 0x2e8]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
push esi
lea ecx, [ebx + 0xa8]
mov dword [ebp + 0x54], eax
call fcn.501e6281
push eax
push dword [ebx + 0x31c]
mov ecx, ebx
push edi
push dword [ebp + 0x54]
call fcn.50272bbe
push eax
push dword [ebx + 0x31c]
mov ecx, ebx
call fcn.501fd162
jmp 0x501fbd31
mov ecx, ebx
call fcn.50272bbe
mov ecx, dword [ebx + 0x31c]
mov edi, eax
mov eax, dword [ebx + 0x330]
dec edi
lea eax, [eax + ecx - 1]
cmp eax, edi
jge 0x501fb6c7
mov edi, eax
mov eax, dword [ebx + 0x2e8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x54], ecx
push esi
lea ecx, [ebx + 0xa8]
mov dword [ebp + 0x5c], eax
call fcn.501e6281
push eax
push edi
push dword [ebp + 0x54]
mov ecx, ebx
push dword [ebp + 0x5c]
call fcn.50272bbe
cmp dword [ebp + 0x70], 0x21
push eax
mov ecx, ebx
push edi
jne 0x501fb69d
call fcn.501fd133
jmp 0x501fbd31
cmp dword [ebx + 0x31c], esi
jle 0x501fbd31
push 1
push esi
push esi
jmp 0x501fb7ff
mov ecx, ebx
call fcn.50272bbe
dec eax
cmp dword [ebx + 0x31c], eax
jge 0x501fbd31
push 1
push esi
push 1
jmp 0x501fb7ff
cmp dword [ebx + 0x31c], esi
jle 0x501fbd31
push esi
push esi
push 2
jmp 0x501fb7ff
mov ecx, ebx
call fcn.50272bbe
dec eax
cmp dword [ebx + 0x31c], eax
jge 0x501fbd31
push esi
push esi
push 3
jmp 0x501fb7ff
push esi
push esi
jmp 0x501fb774
push esi
push 1
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbd31
mov eax, dword [ebx + 0x2e8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0x330]
cmp eax, ecx
jle 0x501fbd31
sub eax, ecx
push 1
inc eax
push eax
jmp 0x501fb7fd
mov eax, dword [ebx + 0x330]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebx + 0x2e8]
mov eax, dword [eax + 0xc]
sar ecx, 1
sub eax, ecx
sub eax, dword [ebx + 0x31c]
dec eax
je 0x501fbd31
xor ecx, ecx
cmp eax, esi
setg cl
push 1
push eax
push ecx
jmp 0x501fb7ff
mov eax, dword [ebx + 0x2e8]
mov edi, dword [eax + 0xc]
mov ecx, ebx
call fcn.50272bbe
mov ecx, dword [ebx + 0x330]
dec eax
add ecx, edi
cmp ecx, eax
jge 0x501fbd31
mov eax, dword [ebx + 0x2e8]
push 1
push dword [eax + 0xc]
push 4
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbd31
push 1
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push esi
jmp 0x501fb80d
push 2
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push esi
jmp 0x501fb81e
push 1
jmp 0x501fb81e
push 3
jmp 0x501fb81e
push 0x354a
push esi
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
mov ecx, dword [ebx + 0x2e8]
push dword [ecx + 0x3c]
push dword [ecx + 0x10]
push dword [ecx + 0x14]
push dword [ecx + 8]
push dword [ecx + 0xc]
call fcn.50272bbe
mov ecx, ebx
call fcn.50272bbe
call fcn.5021e438
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
jmp 0x501fbd31
mov eax, dword [ebp + 0x78]
cmp dword [eax + 8], esi
jl 0x501fbd31
push 0x354a
push esi
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
mov eax, dword [ebx + 0x134]
mov ecx, dword [eax]
lea edx, [ebp + 0x4c]
push edx
push eax
call dword [ecx + 0x30]
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 8]
dec dword [ebp + 0x4c]
cmp dword [ebp + 0x4c], eax
jl 0x501fb8d8
mov dword [ebp + 0x4c], eax
mov eax, dword [ebx + 0x13c]
mov ecx, dword [eax]
push esi
lea edx, [ebp + 0x48]
push edx
push esi
push dword [ebp + 0x4c]
push eax
call dword [ecx + 0x10]
cmp eax, esi
je 0x501fb951
cmp eax, 0x80042005
jne 0x501fbd31
mov eax, dword [ebx + 0x134]
mov ecx, dword [eax]
lea edx, [ebp + 0x28]
push edx
push dword [ebp + 0x4c]
push eax
call dword [ecx + 0x2c]
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x20]
push eax
mov ecx, ebx
mov dword [ebp - 0x20], esi
call fcn.50272bbe
test eax, eax
jne 0x501fbd31
mov eax, dword [ebx + 0x13c]
mov ecx, dword [eax]
push esi
lea edx, [ebp + 0x48]
push edx
push esi
push dword [ebp + 0x4c]
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x501fbd31
mov eax, dword [ebp + 0x48]
lea ecx, [ebp - 0x10]
push ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], eax
mov eax, dword [ebx]
push ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], esi
call dword [eax + 0xbc]
push 1
push esi
push esi
push dword [ebp + 0x48]
mov ecx, ebx
call fcn.50272bbe
mov ecx, dword [ebx + 0x2e8]
push eax
push dword [ebp + 0x48]
call fcn.50226bd5
push 1
mov ecx, ebx
call fcn.50272bbe
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbd31
mov eax, dword [ebx + 0x2e8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
xor edx, edx
cmp edi, 0x36
sete dl
push edx
push ecx
push eax
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push 1
mov ecx, ebx
call fcn.501f8d7e
jmp 0x501fbf17
push esi
jmp 0x501fb9c4
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
push 1
jmp 0x501fba30
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
jmp 0x501fbd31
push 4
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push 5
jmp 0x501fba3d
push 2
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push 3
jmp 0x501fba4f
push esi
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push 1
jmp 0x501fba60
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x501fba85
mov dword [ebp + 0x60], 0x80042001
cmp dword [ebp + 0x60], esi
jge 0x501fba97
cmp dword [ebp + 0x60], 0x80042001
jne 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
jmp 0x501fbd31
mov eax, dword [ebx + 0x2e8]
push dword [eax + 0xc]
mov ecx, ebx
call fcn.50272bbe
cmp eax, 1
sete byte [ebp + 0x5b]
cmp byte [ebp + 0x5b], 0
mov dword [ebp + 0x60], eax
je 0x501fbb21
mov eax, dword [ebx + 0x2e8]
or dword [ebp + 0x5c], 0xffffffff
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 0x13c]
mov edx, dword [eax]
push esi
lea edi, [ebp + 0x5c]
push edi
push esi
push ecx
push eax
call dword [edx + 0xc]
cmp eax, esi
mov dword [ebp + 0x60], eax
jne 0x501fbb21
mov eax, dword [ebx + 0x134]
mov ecx, dword [eax]
push esi
push esi
push esi
push dword [ebp + 0x5c]
push esi
push dword [ebp + 0x5c]
push 3
push eax
call dword [ecx + 0x9c]
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x60], esi
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
movzx edx, byte [ebp + 0x5b]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x54]
jmp 0x501fbd31
cmp edi, 0x4e
sete al
mov ecx, ebx
push eax
call fcn.50272bbe
jmp 0x501fbd31
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov edi, dword [ebx + 0x2e8]
mov eax, dword [edi + 8]
mov dword [ebp + 0x5c], eax
mov eax, dword [edi + 0xc]
mov ecx, edi
mov dword [ebp + 0x60], eax
call fcn.501e842e
test eax, eax
je 0x501fbbc2
mov eax, dword [edi + 0x14]
cmp eax, dword [ebp + 0x60]
jl 0x501fbbba
jne 0x501fbbc2
mov eax, dword [edi + 0x10]
cmp eax, dword [ebp + 0x5c]
jge 0x501fbbc2
dec dword [ebp + 0x5c]
jns 0x501fbbc2
dec dword [ebp + 0x60]
push dword [ebp + 0x5c]
mov ecx, ebx
push dword [ebp + 0x60]
call fcn.50272bbe
jmp 0x501fbf17
push 7
jmp 0x501fba3d
push 6
jmp 0x501fba3d
push esi
push esi
mov eax, dword [ebx + 0x2e8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push ecx
push eax
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push esi
push 1
jmp 0x501fbbe4
push esi
push esi
mov eax, dword [ebx + 0x2e8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push ecx
push eax
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push esi
push 1
jmp 0x501fbc05
mov dword [ebp + 0x60], 0x80004001
jmp 0x501fc62f
push fcn.50046274
push 3
push 0x10
lea eax, [ebp - 0x60]
push eax
call fcn.5002e389
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push dword [ebx + 0x134]
lea ecx, [ebp - 0x60]
call fcn.501f7daf
mov edi, dword [ebp + 0x78]
push edi
lea ecx, [ebp - 0x50]
call fcn.50077d39
add edi, 0x10
push edi
lea ecx, [ebp - 0x40]
call fcn.50077d39
push 3
push esi
push 0xc
mov word [ebp + 0x14], 0x200c
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
cmp eax, esi
mov dword [ebp + 0x1c], eax
jne 0x501fbcab
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push fcn.50048bac
push 3
push 0x10
lea eax, [ebp - 0x60]
push eax
call fcn.50272bbe
jmp 0x501fbd31
mov dword [ebp + 0x5c], esi
mov eax, dword [ebp + 0x5c]
shl eax, 4
lea eax, [ebp + eax - 0x60]
push eax
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x1c]
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
inc dword [ebp + 0x5c]
cmp dword [ebp + 0x5c], 3
jl 0x501fbcae
mov ecx, dword [ebx + 0xe4]
and dword [ebp + 0x44], 0
mov edx, dword [ecx]
lea eax, [ebp + 0x44]
push eax
mov eax, 0x5002a174
push eax
push eax
push ecx
call dword [edx + 0xc]
test eax, eax
jl 0x501fbd0b
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x501fbd0b
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
push 2
push 0x301
push 0x50002390
push eax
call dword [ecx + 0x50]
lea ecx, [ebp + 0x44]
call fcn.501e21ba
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push fcn.50048bac
push 3
push 0x10
lea eax, [ebp - 0x60]
push eax
call fcn.50272bbe
xor esi, esi
cmp dword [ebp + 0x60], 0x80040100
jmp 0x501fc62d
call fcn.50272bbe
test al, al
jne 0x501fbd31
mov eax, dword [ebp + 0x78]
mov cx, word [eax + 8]
mov ax, word [eax + 0x18]
mov word [ebp + 0x42], ax
mov eax, dword [ebx + 0xe4]
cmp eax, esi
mov word [ebp + 0x40], cx
je 0x501fbd31
mov ecx, dword [eax]
lea edx, [ebp + 0x3c]
push edx
push 0x5002ba74
push 0x500023a0
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x501fbd31
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax]
lea edx, [ebx + 0x34]
push edx
lea edx, [ebp + 0x40]
push edx
push 0x40d
push 0x50001f10
push esi
push eax
call dword [ecx + 0x20]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x501fbd31
mov ecx, dword [ebx + 0x124]
cmp ecx, esi
je 0x501fbdc1
test byte [ecx + 0x54], 4
je 0x501fbdc1
push esi
push esi
call fcn.50272bbe
jmp 0x501fbe57
lea edi, [ebx + 0x128]
mov ecx, dword [edi]
cmp ecx, esi
je 0x501fbdd8
push 1
call fcn.5020fc46
mov dword [edi], esi
jmp 0x501fbe57
mov ecx, dword [ebx + 0x2e8]
movzx edi, byte [ecx + 0x30]
cmp edi, esi
je 0x501fbe26
cmp dword [ecx + 0x40], esi
je 0x501fbe05
lea eax, [ebp]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp + 4]
mov ecx, ebx
push dword [ebp]
push esi
call fcn.50272bbe
jmp 0x501fbe26
mov eax, dword [ebx + 0xa8]
shr eax, 0x1c
not eax
and eax, 1
push eax
push 1
call fcn.50272bbe
mov ecx, dword [ebx + 0x2e8]
call fcn.50272bbe
mov ecx, ebx
call fcn.501efb1c
call fcn.50272bbe
cmp eax, esi
je 0x501fbe4c
test byte [ebx + 0xac], 2
jne 0x501fbe46
call fcn.5021e491
jmp 0x501fbe4c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
cmp edi, esi
jne 0x501fbe57
mov dword [ebp + 0x60], 1
push 0x50005fb8
call fcn.501f5ca5
jmp 0x501fbd31
lea ecx, [ebx + 0xa8]
mov eax, dword [ecx]
test al, al
jns 0x501fbd31
test ah, ah
js 0x501fbebd
mov edx, dword [ebx + 0xec]
cmp edx, esi
je 0x501fbebd
mov eax, dword [edx]
push esi
push esi
push esi
lea ecx, [ebp - 0x84]
push ecx
push edx
call dword [eax + 0x30]
xor eax, eax
cmp dword [ebp - 0x84], esi
push esi
sete al
push esi
push esi
lea edx, [ebp - 0x84]
push edx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0xec]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
jmp 0x501fbecb
shr eax, 0x19
not eax
and eax, 1
push eax
call fcn.501e64d0
push esi
push esi
push dword [ebx + 0xf8]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x501fbd31
mov eax, dword [ebx + 0x2e8]
movzx eax, byte [eax + 0x30]
push eax
push 2
jmp 0x501fb5f7
mov eax, dword [ebx + 0x2e8]
movzx eax, byte [eax + 0x30]
push eax
push 3
jmp 0x501fb5f7
cmp dword [ebp + 0x78], esi
je 0x501fbf1f
mov eax, dword [ebp + 0x78]
push dword [eax + 0x18]
push dword [eax + 8]
mov ecx, ebx
call fcn.50272bbe
mov dword [ebp + 0x60], eax
jmp 0x501fbd31
mov eax, dword [ebx + 0x2e8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push ecx
push eax
jmp 0x501fbf10
mov eax, dword [ebp + 0x78]
cmp eax, esi
je 0x501fbf41
cmp word [eax], 8
jne 0x501fbf41
mov eax, dword [eax + 8]
jmp 0x501fbf43
xor eax, eax
push eax
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov eax, dword [ebx + 0xa8]
test ah, 2
je 0x501fbd31
test ah, ah
js 0x501fbfd1
mov ecx, dword [ebx + 0xec]
cmp ecx, esi
je 0x501fbfd1
lea esi, [ebx + 0x180]
lea edi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor eax, eax
push eax
movsd dword es:[edi], dword [esi]
mov edx, dword [ecx]
lea esi, [ebp - 0x10c]
push esi
push eax
push eax
push ecx
call dword [edx + 0x30]
test eax, eax
mov dword [ebp + 0x60], eax
jl 0x501fbd2f
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0xcc], eax
push eax
sete cl
lea esi, [ebp - 0x10c]
push esi
push eax
push eax
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebx + 0xec]
mov edx, dword [ecx]
push ecx
call dword [edx + 0x34]
mov dword [ebp + 0x60], eax
jmp 0x501fbd2f
shr eax, 0x18
not eax
and eax, 1
push eax
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbd31
cmp dword [0x5028e670], esi
je 0x501fc091
mov eax, dword [ebp + 0x78]
cmp eax, esi
je 0x501fc003
cmp dword [eax + 8], 4
je 0x501fc09e
mov ecx, dword [ebx + 0xe4]
lea eax, [ebp + 0x5c]
push eax
mov eax, 0x5002a174
push eax
push eax
mov dword [ebp + 0x5c], esi
mov edx, dword [ecx]
push ecx
call dword [edx + 0xc]
test eax, eax
jl 0x501fc084
cmp dword [ebp + 0x5c], esi
je 0x501fc084
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebx + 0xe8]
cmp eax, esi
mov word [ebp - 0x30], 0x13
mov dword [ebp - 0x28], 4
je 0x501fc070
lea ecx, [ebp + 0x54]
push ecx
mov ecx, 0x5002a104
push ecx
push ecx
mov dword [ebp + 0x54], esi
mov edx, dword [eax]
push eax
call dword [edx + 0xc]
test eax, eax
jl 0x501fc068
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
lea ecx, [ebp + 0x54]
call fcn.501e21ba
mov eax, dword [ebp + 0x5c]
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push esi
push edi
push 0x50002490
push eax
call dword [ecx + 0x50]
lea ecx, [ebp + 0x5c]
call fcn.501e21ba
jmp 0x501fbd31
test byte [ebx + 0xa4], 1
je 0x501fbd31
call fcn.50272bbe
test al, al
jne 0x501fbd31
test byte [ebx + 0xa5], 8
jne 0x501fc0d9
mov eax, dword [ebx]
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp + 0x34]
push ecx
push ebx
call dword [eax + 0x40]
push esi
push 0x11
push dword [ebp + 8]
mov ecx, ebx
push dword [ebp + 0x34]
call fcn.50272bbe
or byte [ebx + 0xa6], 0x10
xor eax, eax
cmp dword [ebp + 0x70], 0x7b
mov ecx, ebx
sete al
push eax
call fcn.50235e7b
jmp 0x501fbd31
push 1
push 1
jmp 0x501fb5d3
push 1
push 1
push 5
jmp 0x501fb5d5
push 1
jmp 0x501fbbff
push 1
jmp 0x501fbc20
test byte [ebx + 0xab], 0x80
je 0x501fbd31
mov edi, dword [ebx + 0x2e8]
mov ecx, edi
call fcn.501e842e
test eax, eax
je 0x501fbd31
cmp dword [edi + 0x3c], esi
je 0x501fc147
mov ecx, edi
call fcn.50225b0e
test eax, eax
je 0x501fbd31
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbf17
push dword [ebp + 0x7c]
mov ecx, ebx
push dword [ebp + 0x78]
call fcn.50272bbe
jmp 0x501fbd31
mov eax, dword [ebx + 0x1e0]
mov dword [eax + 0xc], 2
jmp 0x501fbd31
sub edi, 0x475
je 0x501fc1f4
dec edi
jne case.0x501fb3e0.55
mov eax, dword [ebx + 0x1e0]
mov dword [eax + 0xc], esi
jmp 0x501fbd31
mov eax, dword [ebx + 0x1e0]
mov dword [eax + 0xc], 1
jmp 0x501fbd31
push 0x50002390
push dword [ebp + 0x6c]
call fcn.5002e451
test eax, eax
je 0x501fc69b
mov eax, 0xe3
cmp edi, eax
ja 0x501fc4cc
je 0x501fc4c0
cmp edi, 0x1b
ja 0x501fc3b6
je 0x501fc38a
sub edi, 0xf
je case.0x501fb3e0.59
dec edi
je case.0x501fb3e0.58
dec edi
je 0x501fc290
sub edi, 9
jne case.0x501fb3e0.55
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
jmp 0x501fbd31
mov edi, dword [ebx + 0x2e8]
mov ecx, edi
call fcn.501e842e
test eax, eax
jne 0x501fc2cb
mov eax, dword [edi + 8]
push dword [edi + 0xc]
mov ecx, ebx
mov dword [ebp + 0x54], eax
call fcn.50272bbe
cmp dword [ebp + 0x54], eax
jl 0x501fc2cb
mov eax, dword [ebx + 0x2e8]
mov edi, dword [eax + 0xc]
mov ecx, ebx
call fcn.50272bbe
dec eax
cmp edi, eax
jge 0x501fc311
mov ecx, ebx
call fcn.50272bbe
cmp eax, 1
jne 0x501fc311
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
push 1
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
jmp 0x501fbd31
mov dword [ebp + 0x60], esi
jmp 0x501fc62f
push 1
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
jmp 0x501fbd31
push esi
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
call fcn.50272bbe
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
je 0x501fc4ab
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
jmp 0x501fbd31
cmp dword [ebp + 0x78], esi
mov ecx, ebx
je 0x501fc3a7
push dword [ebp + 0x7c]
push dword [ebp + 0x78]
push dword [ebp + 0x74]
call fcn.5023879b
mov dword [ebp + 0x60], eax
jmp 0x501fc61d
cmp dword [ebp + 0x74], 2
setne al
push eax
call fcn.50238440
jmp 0x501fc39f
cmp edi, 0x1d
jb case.0x501fb3e0.55
cmp edi, 0x1e
jbe 0x501fc3db
cmp edi, 0x1f
je case.0x501fb3e0.44
cmp edi, 0x2a
jbe case.0x501fb3e0.55
cmp edi, 0x2c
ja case.0x501fb3e0.55
cmp dword [ebx + 0x1c4], esi
je 0x501fc616
push dword [ebp + 0x7c]
mov eax, dword [ebx + 0x1d4]
push dword [ebp + 0x78]
mov ecx, dword [eax]
push dword [ebp + 0x74]
push edi
push dword [ebp + 0x6c]
push eax
call dword [ecx + 0x10]
mov ecx, ebx
mov dword [ebp + 0x60], eax
call fcn.501e46c8
jmp 0x501fc61d
mov ecx, ebx
call fcn.50272bbe
mov edi, eax
dec edi
push edi
mov ecx, ebx
call fcn.50272bbe
mov ecx, dword [ebx + 0x2e8]
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x10]
push eax
push esi
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.50272bbe
cmp dword [ebp + 0xc], esi
jne 0x501fc464
cmp dword [ebp + 0x30], esi
jne 0x501fc464
cmp edi, dword [ebp + 0x2c]
jne 0x501fc464
mov eax, dword [ebp + 0x54]
cmp eax, dword [ebp + 0x24]
jne 0x501fc464
cmp dword [ebp + 0x10], esi
je 0x501fbd31
push 0x354a
push esi
mov ecx, ebx
call fcn.50272bbe
cmp eax, esi
mov dword [ebp + 0x60], eax
jl 0x501fbd31
mov ecx, dword [ebx + 0x2e8]
push esi
push dword [ebp + 0x54]
push edi
push esi
push esi
call fcn.50272bbe
mov ecx, ebx
call fcn.50272bbe
call fcn.5021e438
cmp eax, esi
je 0x501fbd31
test byte [ebx + 0xac], 2
jne 0x501fc4b5
call fcn.5021e491
jmp 0x501fbd31
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
jmp 0x501fbd31
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fc39f
cmp edi, 0x199
ja 0x501fc5e9
cmp edi, 0x190
jae 0x501fc5b1
cmp edi, 0xe7
je 0x501fc59c
cmp edi, 0x129
jbe case.0x501fb3e0.55
cmp edi, 0x12b
jbe 0x501fc3db
cmp edi, 0x156
jne 0x501fc673
lea edi, [ebx + 0xa8]
mov eax, dword [edi]
test al, 1
je 0x501fbd31
test ah, ah
js 0x501fc56b
mov eax, dword [ebx + 0xec]
cmp eax, esi
je 0x501fc56b
mov ecx, dword [eax]
push esi
push esi
push esi
lea edx, [ebp - 0xa8]
push edx
push eax
call dword [ecx + 0x30]
xor eax, eax
cmp dword [ebp - 0x90], esi
push esi
sete al
push esi
push esi
lea edx, [ebp - 0xa8]
push edx
mov dword [ebp - 0x90], eax
mov eax, dword [ebx + 0xec]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
jmp 0x501fc583
mov ecx, dword [ebx + 0x2e8]
call fcn.5022545a
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.501e649f
mov ecx, dword [ebx + 0x2e8]
call fcn.50272bbe
push 1
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fbd31
push dword [ebp + 0x7c]
mov ecx, ebx
push dword [ebp + 0x78]
push dword [ebp + 0x74]
call fcn.50272bbe
jmp 0x501fc39f
lea eax, [ebp + 0x54]
push eax
mov ecx, ebx
mov dword [ebp + 0x54], esi
call fcn.50272bbe
test eax, eax
je 0x501fc5d8
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
add edi, 0xfffffe70
push edi
push eax
call dword [ecx + 0x30]
mov dword [ebp + 0x60], eax
jmp 0x501fc5df
mov dword [ebp + 0x60], 0x80040100
lea ecx, [ebp + 0x54]
call fcn.501e21ba
jmp 0x501fc61d
cmp edi, 0x19a
je 0x501fc616
cmp edi, 0x28f
je 0x501fc60d
cmp edi, 0x381
jne case.0x501fb3e0.55
push esi
mov ecx, ebx
jmp 0x501fc3af
mov ecx, ebx
call fcn.50272bbe
jmp 0x501fc61d
mov dword [ebp + 0x60], 0x80040100
cmp dword [ebp + 0x60], 0x80040100
je 0x501fc636
cmp dword [ebp + 0x70], 0x28f
je 0x501fc636
or byte [ebx + 0xa6], 0x80
mov eax, dword [ebp + 0x60]
cmp eax, esi
jge 0x501fc6a0
cmp eax, 0x80040104
je 0x501fc696
cmp eax, 0x80040100
je 0x501fc696
lea ecx, [ebp + 0x38]
push ecx
push dword [ebp + 0x7c]
mov ecx, ebx
push dword [ebp + 0x78]
mov dword [ebp + 0x38], esi
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push dword [ebp + 0x6c]
push eax
call fcn.50272bbe
cmp dword [ebp + 0x38], esi
je 0x501fc6a0
jmp 0x501fb37c
cmp edi, 0x179
jne case.0x501fb3e0.55
mov eax, dword [ebx + 0x1ec]
cmp eax, esi
je case.0x501fb3e0.55
push eax
push 1
mov ecx, ebx
call fcn.50272bbe
mov dword [ebp + 0x60], 0x80040100
mov eax, dword [ebp + 0x60]
jmp 0x501fc6a0
mov eax, 0x80040104
pop edi
pop esi
pop ebx
add ebp, 0x64
leave
ret 0x14