Function at 0x46be30
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x578500
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push esi
lea ecx, [esp + 0x60]
call fcn.005617e4
xor ebx, ebx
lea ecx, [esp + 0x50]
mov dword [esp + 0x78], ebx
call fcn.005617e4
mov eax, vtable.CBitmap.0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x78], 3
cmp eax, ebx
mov eax, dword [esp + 0x98]
je 0x46bed4
and eax, 1
mov dword [esp + 0x2c], eax
je 0x46bead
push 0x3b
call fcn.0046a6c0
lea eax, [eax + eax*8]
add esp, 4
mov eax, dword [eax*4 + 0x6a63a0]
jmp 0x46bec1
push 0x3a
call fcn.0046a6c0
lea ecx, [eax + eax*8]
add esp, 4
mov eax, dword [ecx*4 + 0x6a63a0]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0x50
mov esi, 0x1b
jmp 0x46bf18
and eax, 1
mov dword [esp + 0x2c], eax
je 0x46bef3
push 0x36
call fcn.0046a6c0
lea edx, [eax + eax*8]
add esp, 4
mov eax, dword [edx*4 + 0x6a63a0]
jmp 0x46bf07
push 0x35
call fcn.0046a6c0
lea eax, [eax + eax*8]
add esp, 4
mov eax, dword [eax*4 + 0x6a63a0]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0x3c
mov esi, 0x32
cmp eax, ebx
mov dword [esp + 0x24], esi
jne 0x46bf79
mov esi, vtable.CGdiObject.0
mov dword [esp + 0x40], esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x78], 4
call fcn.0056230c
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x48]
mov byte [esp + 0x78], 5
call fcn.0056230c
lea ecx, [esp + 0x50]
mov byte [esp + 0x78], 0
call fcn.00561919
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], 0xffffffff
call fcn.00561919
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
add esp, 0x74
ret
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
push ebp
mov ebp, dword [esp + 0x88]
push edi
mov edi, dword [esp + 0x94]
sub edi, ebp
mov ebp, dword [esp + 0x98]
sub ebp, edx
cmp eax, ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], ebp
jne 0x46bfb2
xor eax, eax
jmp 0x46bfb5
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x6c]
call fcn.0056189b
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0xc4]
push eax
mov eax, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0xc4]
push eax
mov eax, dword [esp + 0xc4]
push ecx
push edx
lea ecx, [esp + 0x70]
push eax
lea edx, [esp + 0x68]
push ecx
push edx
push ebp
lea eax, [esp + 0x98]
push edi
push eax
call fcn.0046a820
add esp, 0x38
xor ebx, ebx
test ebp, ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0xa8], ebx
jle 0x46c349
xor eax, eax
mov dword [esp + 0x30], eax
cdq
idiv ebp
test ebx, ebx
jl 0x46c055
cmp ebx, 4
jg 0x46c055
mov eax, ebx
jmp 0x46c083
lea ecx, [ebp - 1]
cmp ebx, ecx
jne 0x46c061
lea eax, [esi - 1]
jmp 0x46c083
lea edx, [ebp - 2]
cmp ebx, edx
jne 0x46c06d
lea eax, [esi - 2]
jmp 0x46c083
lea ecx, [ebp - 3]
cmp ebx, ecx
jne 0x46c079
lea eax, [esi - 3]
jmp 0x46c083
add ebp, 0xfffffffc
cmp ebx, ebp
jne 0x46c083
lea eax, [esi - 4]
xor ebp, ebp
test edi, edi
jle 0x46c329
mov ecx, esi
mov edx, dword [esp + 0x90]
sub ecx, eax
mov dword [esp + 0x24], ebp
dec ecx
lea eax, [ebx + edx]
imul ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], eax
jmp 0x46c0ba
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
cdq
idiv edi
test ebp, ebp
jl 0x46c0d2
cmp ebp, 6
jg 0x46c0d2
mov eax, ebp
jmp 0x46c118
lea edx, [edi - 1]
cmp ebp, edx
jne 0x46c0de
lea eax, [esi - 1]
jmp 0x46c118
lea edx, [edi - 2]
cmp ebp, edx
jne 0x46c0ea
lea eax, [esi - 2]
jmp 0x46c118
lea edx, [edi - 3]
cmp ebp, edx
jne 0x46c0f6
lea eax, [esi - 3]
jmp 0x46c118
lea edx, [edi - 4]
cmp ebp, edx
jne 0x46c102
lea eax, [esi - 4]
jmp 0x46c118
lea edx, [edi - 5]
cmp ebp, edx
jne 0x46c10e
lea eax, [esi - 5]
jmp 0x46c118
lea edx, [edi - 6]
cmp ebp, edx
jne 0x46c118
lea eax, [esi - 6]
add ecx, eax
mov eax, dword [esp + 0x1c]
test ebp, ebp
lea esi, [eax + ecx*4]
je 0x46c12a
dec edi
cmp ebp, edi
jne 0x46c13b
test ebx, ebx
je 0x46c137
mov ecx, dword [esp + 0x18]
dec ecx
cmp ebx, ecx
jne 0x46c13b
mov byte [esi + 3], 0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
lea ecx, [eax + ebp]
mov eax, dword [edx + 4]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
mov ebx, eax
mov cl, byte [esi + 3]
shr eax, 0x10
and eax, 0xff
mov byte [esp + 0x40], cl
mov edx, eax
and ecx, 0xff
shl edx, 8
sub edx, eax
mov eax, 0x80808081
mul edx
xor eax, eax
mov edi, edx
mov al, byte [esi]
mov edx, eax
mov eax, 0x80808081
imul edx, ecx
mul edx
xor eax, eax
mov al, byte [esi + 1]
shr edi, 7
shr edx, 7
add edi, edx
mov edx, eax
imul edx, ecx
mov eax, 0x80808081
mov dword [esp + 0xa0], edi
mul edx
xor eax, eax
mov edi, edx
mov al, bh
and ebx, 0xff
and eax, 0xff
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
mul edx
xor eax, eax
mov al, byte [esi + 2]
shr edi, 7
shr edx, 7
add edi, edx
mov edx, eax
imul edx, ecx
mov eax, 0x80808081
mov dword [esp + 0x10], edi
mul edx
mov ecx, edx
mov edx, ebx
shl edx, 8
sub edx, ebx
mov eax, 0x80808081
mul edx
shr ecx, 7
shr edx, 7
mov eax, edi
add ecx, edx
mov edx, dword [esp + 0xa0]
cmp eax, 0xff
jbe 0x46c22e
cmp edx, 0xff
jbe 0x46c22e
cmp ecx, 0xff
ja 0x46c236
xor ecx, ecx
jmp 0x46c2db
cmp ecx, 0xff
jbe 0x46c280
mov eax, dword [esp + 0x10]
cmp edx, 0xff
jbe 0x46c250
cmp eax, 0xff
ja 0x46c250
xor eax, eax
jmp 0x46c2db
cmp ecx, 0xff
jbe 0x46c284
cmp eax, 0xff
jbe 0x46c272
cmp edx, 0xff
ja 0x46c26b
xor edx, edx
jmp 0x46c2db
cmp eax, 0xff
ja 0x46c28b
cmp edx, 0xff
ja 0x46c284
xor edx, edx
xor eax, eax
jmp 0x46c2db
mov eax, dword [esp + 0x10]
cmp eax, 0xff
jbe 0x46c29f
cmp ecx, 0xff
ja 0x46c29f
cmp edx, 0xff
ja 0x46c2a7
xor edx, edx
jmp 0x46c2d9
cmp edx, 0xff
jbe 0x46c2b6
cmp ecx, 0xff
ja 0x46c2db
cmp eax, 0xff
jbe 0x46c2d7
cmp ecx, 0xff
ja 0x46c2db
cmp eax, 0xff
ja 0x46c2db
cmp edx, 0xff
ja 0x46c2db
mov bl, byte [esp + 0x40]
test bl, bl
je 0x46c2db
xor edx, edx
xor eax, eax
xor ecx, ecx
xor ebx, ebx
and ecx, 0xff
mov bh, dl
mov bl, al
mov eax, dword [esp + 0xa8]
shl ebx, 8
or ebx, ecx
mov ecx, dword [esp + 0x6c]
push ebx
push eax
push ebp
push ecx
call dword [sym.imp.GDI32.dll_SetPixel]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
inc ebp
add ecx, edx
cmp ebp, eax
mov dword [esp + 0x24], ecx
mov edi, eax
jl 0x46c0af
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
inc ebx
add eax, esi
cmp ebx, ecx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x30], eax
mov ebp, ecx
jl 0x46c045
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x46c74f
cmp dword [eax + 0x20], 2
jne 0x46c74f
mov eax, dword [0x78c528]
test eax, eax
je 0x46c385
push 0x38
call fcn.0046a6c0
lea eax, [eax + eax*8]
add esp, 4
mov ecx, dword [eax*4 + 0x6a63a0]
mov dword [esp + 0x24], ecx
jmp 0x46c3bf
mov eax, dword [esp + 0x34]
test eax, eax
je 0x46c3a7
push 0x39
call fcn.0046a6c0
lea edx, [eax + eax*8]
add esp, 4
mov eax, dword [edx*4 + 0x6a63a0]
mov dword [esp + 0x24], eax
jmp 0x46c3bf
push 0x37
call fcn.0046a6c0
lea ecx, [eax + eax*8]
add esp, 4
mov edx, dword [ecx*4 + 0x6a63a0]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x88]
mov esi, ebp
test eax, eax
mov dword [esp + 0x40], 0x14
mov dword [esp + 0x14], esi
je 0x46c3db
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x5c]
call fcn.0056189b
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
push eax
mov eax, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0xc4]
push eax
mov eax, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0xc4]
push eax
push ecx
lea eax, [esp + 0x68]
push edx
lea ecx, [esp + 0x68]
push eax
push ecx
push esi
lea edx, [esp + 0x88]
push 0x14
push edx
call fcn.0046a820
add esp, 0x38
xor edi, edi
test esi, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0xa8], edi
jle 0x46c753
xor ecx, ecx
mov dword [esp + 0xcc], ecx
jmp 0x46c483
mov edi, dword [esp + 0xa8]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0xcc]
mov eax, ecx
cdq
idiv esi
test ecx, ecx
jl 0x46c498
cmp ecx, 0xc8
jg 0x46c498
mov eax, edi
jmp 0x46c4a2
dec esi
cmp edi, esi
jne 0x46c4a2
mov eax, 0x31
mov ecx, 0x31
xor ebp, ebp
sub ecx, eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x90]
shl eax, 2
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x28], eax
lea ecx, [ebp + ebp*4]
mov eax, 0x66666667
shl ecx, 2
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
test ebp, ebp
jl 0x46c4f1
cmp ebp, 4
jg 0x46c4f1
mov edx, ebp
jmp 0x46c4f8
cmp ebp, 0x13
jne 0x46c4f8
mov edx, ebp
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x24]
add edx, ecx
cmp ebp, 0x13
lea edi, [eax + edx*4]
jne 0x46c52c
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x46c528
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xa8]
dec ecx
cmp eax, ecx
jne 0x46c52c
mov byte [edi + 3], 0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x8c]
lea ecx, [eax + ebp - 0x14]
mov eax, dword [edx + 4]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, eax
mov al, byte [edi + 3]
mov byte [esp + 0xc4], al
mov esi, eax
mov eax, ecx
and esi, 0xff
shr eax, 0x10
and eax, 0xff
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
mul edx
xor eax, eax
mov ebx, edx
mov al, byte [edi]
mov edx, eax
mov eax, 0x80808081
imul edx, esi
mul edx
xor eax, eax
mov al, byte [edi + 1]
shr ebx, 7
shr edx, 7
add ebx, edx
mov edx, eax
imul edx, esi
mov eax, 0x80808081
mov dword [esp + 0xa0], ebx
mul edx
xor eax, eax
mov ebx, edx
mov al, ch
and ecx, 0xff
and eax, 0xff
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
mul edx
xor eax, eax
mov al, byte [edi + 2]
shr ebx, 7
shr edx, 7
add ebx, edx
mov edx, eax
imul edx, esi
mov eax, 0x80808081
mul edx
mov esi, edx
mov edx, ecx
shl edx, 8
sub edx, ecx
mov eax, 0x80808081
mul edx
mov eax, dword [esp + 0xa0]
shr esi, 7
shr edx, 7
add esi, edx
cmp ebx, 0xff
jbe 0x46c621
cmp eax, 0xff
jbe 0x46c621
cmp esi, 0xff
ja 0x46c629
xor esi, esi
jmp 0x46c6f3
cmp esi, 0xff
jbe 0x46c680
cmp eax, 0xff
jbe 0x46c63f
cmp ebx, 0xff
ja 0x46c63f
xor ebx, ebx
jmp 0x46c6f3
cmp esi, 0xff
jbe 0x46c680
cmp ebx, 0xff
jbe 0x46c66e
cmp eax, 0xff
ja 0x46c666
mov dword [esp + 0xa0], 0
jmp 0x46c6ec
cmp ebx, 0xff
ja 0x46c688
cmp eax, 0xff
ja 0x46c680
xor ebx, ebx
mov dword [esp + 0xa0], ebx
jmp 0x46c6ec
cmp ebx, 0xff
jbe 0x46c6a2
cmp esi, 0xff
ja 0x46c6a2
cmp eax, 0xff
ja 0x46c6a9
xor esi, esi
mov dword [esp + 0xa0], esi
jmp 0x46c6ec
cmp eax, 0xff
jbe 0x46c6bf
cmp esi, 0xff
ja 0x46c6f3
cmp ebx, 0xff
ja 0x46c6bf
xor ebx, ebx
xor esi, esi
jmp 0x46c6f3
cmp esi, 0xff
ja 0x46c6f3
cmp ebx, 0xff
ja 0x46c6f3
cmp eax, 0xff
ja 0x46c6f3
mov cl, byte [esp + 0xc4]
test cl, cl
je 0x46c6f3
xor esi, esi
xor ebx, ebx
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 0xa0]
xor ecx, ecx
mov edx, dword [esp + 0xa8]
mov ch, al
mov eax, dword [esp + 0x5c]
mov cl, bl
and esi, 0xff
shl ecx, 8
or ecx, esi
push ecx
push edx
push ebp
push eax
call dword [sym.imp.GDI32.dll_SetPixel]
inc ebp
cmp ebp, 0x14
jl 0x46c4cc
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x14]
inc eax
add edx, 0x32
cmp eax, ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xcc], edx
jl 0x46c471
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x88]
mov ebp, dword [sym.imp.GDI32.dll_SetStretchBltMode]
push 3
mov ecx, dword [edi + 4]
push ecx
call ebp
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push 0xcc0020
push 0
push 0
push edx
mov edx, dword [esp + 0xa0]
push eax
mov eax, dword [esp + 0xa0]
push ecx
mov ecx, dword [edi + 4]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x46c7ae
mov edx, dword [esp + 0x6c]
push ebx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x46c808
cmp dword [eax + 0x20], 2
jne 0x46c808
mov eax, dword [edi + 4]
push 3
push eax
call ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x90]
push 0xcc0020
push 0
push 0
push ecx
mov ecx, dword [esp + 0xa4]
push esi
push edx
mov edx, dword [edi + 4]
add ecx, 0xffffffec
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
test ebx, ebx
je 0x46c808
mov eax, dword [esp + 0x5c]
push ebx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, vtable.CGdiObject.0
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x48]
mov byte [esp + 0x80], 6
call fcn.0056230c
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 7
call fcn.0056230c
lea ecx, [esp + 0x58]
mov byte [esp + 0x80], 0
call fcn.00561919
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], 0xffffffff
call fcn.00561919
mov ecx, dword [esp + 0x78]
pop edi
pop ebp
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x74
ret