Function at 0x41bf60
Capabilities:
Check http status code

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xdc
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x5040b8], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [0x5040b4], 0
mov dword [0x5040b0], 0
mov dword [0x5040ac], 0
mov dword [0x5040a8], 0
mov dword [0x5040a4], 0
mov dword [esp], 0x4375e0
call ebx
mov dword [0x5040c0], eax
sub esp, 4
test eax, eax
je 0x41c60a
mov dword [esp], str.dinput.dll
call ebx
mov dword [0x5040bc], eax
sub esp, 4
test eax, eax
je 0x41c60a
mov eax, dword [0x5040c0]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 4], str.DirectDrawCreate
mov dword [esp], eax
call ebx
mov esi, eax
mov eax, dword [0x5040c0]
sub esp, 8
mov dword [esp + 4], str.DirectDrawEnumerateExA
mov dword [esp], eax
call ebx
mov edi, eax
mov eax, dword [0x5040bc]
sub esp, 8
mov dword [esp + 4], str.DirectInputCreateA
mov dword [esp], eax
call ebx
sub esp, 8
mov ebx, eax
mov dword [esp + 0x40], 0
test byte [0x51267c], 1
jne 0x41c42d
xor eax, eax
test esi, esi
je 0x41c60a
lea edx, [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call esi
sub esp, 0xc
test eax, eax
jne 0x41c60a
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov dword [esp + 8], 0x5040b8
mov dword [esp + 4], 0x4376bc
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
test ebx, ebx
je 0x41c60a
test esi, esi
jne 0x41c60a
mov eax, dword [0x512224]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5040a8
mov dword [esp + 4], 0x300
mov dword [esp], eax
call ebx
sub esp, 0x10
test eax, eax
jne 0x41c60a
mov eax, dword [0x512670]
mov dword [0x504098], 0
mov dword [0x504094], 0
mov dword [0x50409c], eax
mov eax, dword [0x512674]
mov dword [0x5040a0], eax
mov eax, dword [0x51267c]
test al, 1
jne 0x41c61c
mov ebx, 0x80000000
test al, 8
je 0x41c511
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0x504094
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov eax, dword [0x50409c]
sub eax, dword [0x504094]
sub esp, 0xc
mov dword [0x50409c], eax
mov edx, dword [0x5040a0]
mov dword [esp + 0x10], eax
mov eax, dword [0x50408c]
sub edx, dword [0x504098]
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov eax, dword [0x504090]
mov dword [esp + 0x14], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [0x5040a0], edx
call fcn.00417f00
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040b8]
mov ecx, dword [0x512250]
mov edx, dword [eax]
mov dword [esp + 8], 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x50]
sub esp, 0xc
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040b8]
lea ecx, [esp + 0x2c]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0x10
test eax, eax
jne 0x41c60a
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x512250]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0xc
test eax, eax
jne 0x41c60a
mov dword [0x504088], 0
lea ebx, [esp + 0x64]
mov dword [esp + 8], 0x6c
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x432964]
mov eax, dword [0x5040b8]
mov dword [esp + 0x64], 0x6c
mov dword [esp + 0x68], 1
mov dword [esp + 0xcc], 0x200
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5040b4
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x10
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040b4]
mov edx, dword [eax]
test byte [0x51267c], 1
je 0x41c47a
mov dword [0x5040b0], eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], 0x20
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x54]
sub esp, 8
mov ebx, eax
test eax, eax
jne 0x41c60a
test byte [esp + 0x48], 0x40
je 0x41c60a
mov eax, dword [esp + 0x50]
cmp eax, 8
je 0x41c715
cmp eax, 0x10
je 0x41c6fc
cmp eax, 0x17
jbe 0x41c6ec
mov ecx, dword [esp + 0x54]
mov edx, 1
cmp ecx, 0xff
je 0x41c306
xor edx, edx
cmp ecx, 0x1f
sete dl
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00422050
mov dword [0x51265c], eax
test eax, eax
je 0x41c60a
mov edx, dword [0x5040b8]
mov eax, dword [0x503ff4]
mov ecx, dword [edx]
add eax, 0x68
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [ecx + 0x3c]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x504080], eax
sub esp, 0x10
mov eax, 0x5040e0
nop
mov edx, ebx
mov dword [eax + 4], ebx
add ebx, 1
add eax, 0x10
shl edx, 8
mov dword [eax - 0x10], 0x4376ac
or edx, 0x8000000c
mov dword [eax - 4], 0
mov dword [eax - 8], edx
cmp ebx, 0x100
jne 0x41c370
mov eax, dword [0x5040a8]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5040a4
mov dword [esp + 4], 0x43769c
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040a4]
mov edx, dword [eax]
mov dword [esp + 4], 0x437630
mov dword [esp], eax
call dword [edx + 0x2c]
sub esp, 8
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040a4]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 4
mov ebx, eax
test eax, eax
jne 0x41c60a
mov eax, dword [0x512250]
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, ebx
sub esp, 8
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x512660]
test edx, edx
je 0x41c04e
test edi, edi
je 0x41c04e
lea ebp, [esp + 0x30]
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov dword [esp], 0x41c8c0
call edi
sub esp, 0xc
test eax, eax
jne 0x41c04e
mov eax, dword [esp + 0x40]
test eax, eax
je 0x41c04e
mov eax, ebp
jmp 0x41c050
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x70]
sub esp, 8
test eax, eax
jne 0x41c60a
mov dword [esp + 8], 0x6c
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x432964]
mov eax, dword [0x512670]
mov dword [esp + 0x64], 0x6c
mov dword [esp + 0x68], 7
mov dword [esp + 0x70], eax
mov eax, dword [0x512674]
mov dword [esp + 0xcc], 0x4040
mov dword [esp + 0x6c], eax
mov eax, dword [0x5040b8]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5040b0
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x10
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040b4]
mov edx, dword [eax]
jmp 0x41c2a0
and eax, 4
cmp eax, 1
sbb ebx, ebx
and ebx, 0x10000
add ebx, 0xca0000
jmp 0x41c126
mov edx, dword [0x512670]
mov ebx, 0xf0
mov ecx, dword [0x512678]
xor esi, esi
mov eax, dword [0x5040b8]
mov ebp, dword [0x512680]
mov edi, dword [eax]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [edi + 0x54]
sub esp, 0x18
test eax, eax
je 0x41c7c4
mov eax, dword [0x512678]
cmp eax, 0x18
je 0x41c77a
jg 0x41c6cf
cmp eax, 0xf
je 0x41c6e2
cmp eax, 0x10
jne 0x41c5ce
mov edx, 0xf
mov eax, dword [0x5040b8]
mov ecx, dword [eax]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], edx
mov esi, dword [0x512680]
mov edx, dword [0x512670]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [ecx + 0x54]
sub esp, 0x18
test eax, eax
je 0x41c7c4
cmp ebx, 0xef
jle 0x41c52a
cmp ebx, 0x1df
jle 0x41c794
cmp ebx, 0x257
jle 0x41c7a4
cmp ebx, 0x2ff
jle 0x41c7b4
cmp ebx, 0x3ff
jle 0x41c784
add esp, 0xdc
mov ebx, 0xffffffff
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [esp], 1
call esi
sub esp, 4
mov ebx, eax
mov dword [esp], 0
call esi
sub esp, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x80000000
call fcn.00417f00
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040b8]
mov ecx, dword [0x512250]
mov edx, dword [eax]
mov dword [esp + 8], 0x13
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x50]
sub esp, 0xc
test eax, eax
jne 0x41c60a
mov edx, dword [0x512670]
mov ebx, dword [0x512674]
mov ecx, dword [0x512678]
cmp edx, 0x140
jne 0x41c53b
cmp ebx, 0xc8
jne 0x41c53b
xor eax, eax
cmp ecx, 8
sete al
mov esi, eax
jmp 0x41c53d
mov edx, 0x18
cmp eax, 0x20
je 0x41c596
jmp 0x41c5ce
mov edx, 0x10
jmp 0x41c596
cmp eax, 0xf
ja 0x41c7d8
xor edx, edx
jmp 0x41c306
xor eax, eax
cmp dword [esp + 0x58], 0x3e0
mov ecx, dword [esp + 0x54]
setne al
add eax, 0xf
jmp 0x41c2fe
mov eax, dword [0x5040b8]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x5040ac
mov dword [esp + 8], 0x51225c
mov dword [esp + 4], 0x4c
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 0x14
test eax, eax
jne 0x41c60a
mov eax, dword [0x5040b4]
mov ecx, dword [0x5040ac]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x7c]
mov dword [0x512668], 0
sub esp, 8
mov eax, dword [esp + 0x50]
jmp 0x41c2db
mov edx, 0x20
jmp 0x41c596
mov edx, dword [0x512670]
mov ebx, 0x400
jmp 0x41c535
mov edx, dword [0x512670]
mov ebx, 0x1e0
jmp 0x41c535
mov edx, dword [0x512670]
mov ebx, 0x258
jmp 0x41c535
mov edx, dword [0x512670]
mov ebx, 0x300
jmp 0x41c535
mov eax, ebx
sub eax, dword [0x512674]
sar eax, 1
mov dword [0x504088], eax
jmp 0x41c223
mov ecx, dword [esp + 0x54]
jmp 0x41c2fe