Function at 0x414bc0
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 [0x42ddf8], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [0x42ddf4], 0
mov dword [0x42ddf0], 0
mov dword [0x42ddec], 0
mov dword [0x42dde8], 0
mov dword [0x42dde4], 0
mov dword [esp], 0x424660
call ebx
mov dword [0x42de00], eax
sub esp, 4
test eax, eax
je 0x41526a
mov dword [esp], str.dinput.dll
call ebx
mov dword [0x42ddfc], eax
sub esp, 4
test eax, eax
je 0x41526a
mov eax, dword [0x42de00]
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 [0x42de00]
sub esp, 8
mov dword [esp + 4], str.DirectDrawEnumerateExA
mov dword [esp], eax
call ebx
mov edi, eax
mov eax, dword [0x42ddfc]
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 [0x43787c], 1
jne 0x41508d
xor eax, eax
test esi, esi
je 0x41526a
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 0x41526a
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov dword [esp + 8], 0x42ddf8
mov dword [esp + 4], 0x42473c
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 0x41526a
test esi, esi
jne 0x41526a
mov eax, dword [0x437424]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x42dde8
mov dword [esp + 4], 0x300
mov dword [esp], eax
call ebx
sub esp, 0x10
test eax, eax
jne 0x41526a
mov eax, dword [0x437870]
mov dword [0x42ddd8], 0
mov dword [0x42ddd4], 0
mov dword [0x42dddc], eax
mov eax, dword [0x437874]
mov dword [0x42dde0], eax
mov eax, dword [0x43787c]
test al, 1
jne 0x41527c
mov ebx, 0x80000000
test al, 8
je 0x415171
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0x42ddd4
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov eax, dword [0x42dddc]
sub eax, dword [0x42ddd4]
sub esp, 0xc
mov dword [0x42dddc], eax
mov edx, dword [0x42dde0]
mov dword [esp + 0x10], eax
mov eax, dword [0x42ddcc]
sub edx, dword [0x42ddd8]
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov eax, dword [0x42ddd0]
mov dword [esp + 0x14], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [0x42dde0], edx
call fcn.00411810
test eax, eax
jne 0x41526a
mov eax, dword [0x42ddf8]
mov ecx, dword [0x437450]
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 0x41526a
mov eax, dword [0x42ddf8]
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 0x41526a
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x437450]
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 0x41526a
mov dword [0x42ddc8], 0
lea ebx, [esp + 0x64]
mov dword [esp + 8], 0x6c
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x421164]
mov eax, dword [0x42ddf8]
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], 0x42ddf4
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x10
test eax, eax
jne 0x41526a
mov eax, dword [0x42ddf4]
mov edx, dword [eax]
test byte [0x43787c], 1
je 0x4150da
mov dword [0x42ddf0], 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 0x41526a
test byte [esp + 0x48], 0x40
je 0x41526a
mov eax, dword [esp + 0x50]
cmp eax, 8
je 0x415375
cmp eax, 0x10
je 0x41535c
cmp eax, 0x17
jbe 0x41534c
mov ecx, dword [esp + 0x54]
mov edx, 1
cmp ecx, 0xff
je 0x414f66
xor edx, edx
cmp ecx, 0x1f
sete dl
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041a7d0
mov dword [0x43785c], eax
test eax, eax
je 0x41526a
mov edx, dword [0x42ddf8]
mov eax, dword [0x42b334]
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 [0x42ddc0], eax
sub esp, 0x10
mov eax, 0x42de20
nop
mov edx, ebx
mov dword [eax + 4], ebx
add ebx, 1
add eax, 0x10
shl edx, 8
mov dword [eax - 0x10], 0x42472c
or edx, 0x8000000c
mov dword [eax - 4], 0
mov dword [eax - 8], edx
cmp ebx, 0x100
jne 0x414fd0
mov eax, dword [0x42dde8]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x42dde4
mov dword [esp + 4], 0x42471c
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
test eax, eax
jne 0x41526a
mov eax, dword [0x42dde4]
mov edx, dword [eax]
mov dword [esp + 4], 0x4246b0
mov dword [esp], eax
call dword [edx + 0x2c]
sub esp, 8
test eax, eax
jne 0x41526a
mov eax, dword [0x42dde4]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 4
mov ebx, eax
test eax, eax
jne 0x41526a
mov eax, dword [0x437450]
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 [0x437860]
test edx, edx
je 0x414cae
test edi, edi
je 0x414cae
lea ebp, [esp + 0x30]
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov dword [esp], 0x415520
call edi
sub esp, 0xc
test eax, eax
jne 0x414cae
mov eax, dword [esp + 0x40]
test eax, eax
je 0x414cae
mov eax, ebp
jmp 0x414cb0
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 0x41526a
mov dword [esp + 8], 0x6c
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x421164]
mov eax, dword [0x437870]
mov dword [esp + 0x64], 0x6c
mov dword [esp + 0x68], 7
mov dword [esp + 0x70], eax
mov eax, dword [0x437874]
mov dword [esp + 0xcc], 0x4040
mov dword [esp + 0x6c], eax
mov eax, dword [0x42ddf8]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x42ddf0
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x10
test eax, eax
jne 0x41526a
mov eax, dword [0x42ddf4]
mov edx, dword [eax]
jmp 0x414f00
and eax, 4
cmp eax, 1
sbb ebx, ebx
and ebx, 0x10000
add ebx, 0xca0000
jmp 0x414d86
mov edx, dword [0x437870]
mov ebx, 0xf0
mov ecx, dword [0x437878]
xor esi, esi
mov eax, dword [0x42ddf8]
mov ebp, dword [0x437880]
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 0x415424
mov eax, dword [0x437878]
cmp eax, 0x18
je 0x4153da
jg 0x41532f
cmp eax, 0xf
je 0x415342
cmp eax, 0x10
jne 0x41522e
mov edx, 0xf
mov eax, dword [0x42ddf8]
mov ecx, dword [eax]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], edx
mov esi, dword [0x437880]
mov edx, dword [0x437870]
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 0x415424
cmp ebx, 0xef
jle 0x41518a
cmp ebx, 0x1df
jle 0x4153f4
cmp ebx, 0x257
jle 0x415404
cmp ebx, 0x2ff
jle 0x415414
cmp ebx, 0x3ff
jle 0x4153e4
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.00411810
test eax, eax
jne 0x41526a
mov eax, dword [0x42ddf8]
mov ecx, dword [0x437450]
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 0x41526a
mov edx, dword [0x437870]
mov ebx, dword [0x437874]
mov ecx, dword [0x437878]
cmp edx, 0x140
jne 0x41519b
cmp ebx, 0xc8
jne 0x41519b
xor eax, eax
cmp ecx, 8
sete al
mov esi, eax
jmp 0x41519d
mov edx, 0x18
cmp eax, 0x20
je 0x4151f6
jmp 0x41522e
mov edx, 0x10
jmp 0x4151f6
cmp eax, 0xf
ja 0x415438
xor edx, edx
jmp 0x414f66
xor eax, eax
cmp dword [esp + 0x58], 0x3e0
mov ecx, dword [esp + 0x54]
setne al
add eax, 0xf
jmp 0x414f5e
mov eax, dword [0x42ddf8]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42ddec
mov dword [esp + 8], 0x43745c
mov dword [esp + 4], 0x4c
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 0x14
test eax, eax
jne 0x41526a
mov eax, dword [0x42ddf4]
mov ecx, dword [0x42ddec]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x7c]
mov dword [0x437868], 0
sub esp, 8
mov eax, dword [esp + 0x50]
jmp 0x414f3b
mov edx, 0x20
jmp 0x4151f6
mov edx, dword [0x437870]
mov ebx, 0x400
jmp 0x415195
mov edx, dword [0x437870]
mov ebx, 0x1e0
jmp 0x415195
mov edx, dword [0x437870]
mov ebx, 0x258
jmp 0x415195
mov edx, dword [0x437870]
mov ebx, 0x300
jmp 0x415195
mov eax, ebx
sub eax, dword [0x437874]
sar eax, 1
mov dword [0x42ddc8], eax
jmp 0x414e83
mov ecx, dword [esp + 0x54]
jmp 0x414f5e