Function at 0x401000
Capabilities:
Check http status code
Link many functions at runtime
Log keystrokes via polling

Disassembly:
xor eax, eax
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.DLL_GetKeyState]
mov dword [0x412e02], eax
xor eax, eax
mov edx, 0
mov ebx, edx
push ebx
call dword [sym.imp.USER32.DLL_GetKeyState]
mov dword [0x4129c8], eax
mov eax, 0xef63
mov edx, eax
dec edx
sub edx, dword [0x412fa8]
inc edx
shl edx, 6
add edx, dword [0x413528]
ror edx, 1
sub dword [0x41343d], edx
push 0xfb7
pop edx
inc edx
sub edx, dword [0x41323f]
shl edx, 1
inc edx
mov ebx, edx
add ebx, 0x7c5
jb 0x401061
rol ebx, 1
shr ebx, 1
sub ebx, dword [0x413535]
shl ebx, 1
sub dword [0x413311], ebx
jmp 0x4029c8
dec eax
sub ebx, 1
lea edi, [ebx + 4]
sub eax, edi
inc edi
mov ecx, 0x88
push ecx
mov edx, 0
mov edi, edx
push edi
mov edx, 0
mov esi, edx
push esi
mov eax, 0x34
mov ecx, eax
push ecx
mov dword [0x413017], 0
mov edx, dword [0x413017]
push edx
mov edi, 7
push edi
mov ecx, 0x342f2b
mov edi, ecx
add edi, 0xcb239
push dword [edi]
pop edi
call edi
or eax, eax
jne 0x40145c
push 0
pop ebx
push ebx
xor edx, edx
push edx
mov dword [0x412565], 0
mov edx, dword [0x412565]
push edx
mov edx, 1
mov edi, edx
push edi
push 0x9c5f5f
pop edx
sub edx, 0x5b7e03
call dword [edx]
or eax, eax
jne 0x401462
leave
ret
mov edi, eax
test esi, eax
je 0x4014f7
mov edx, eax
lea esi, [0xb]
sub edi, dword [0x415035]
mov ebx, 0x21
push 0
push 0
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push 0
pop edx
push edx
mov ecx, dword [sym.imp.ADVAPI32.DLL_RegFlushKey]
call ecx
or eax, eax
je 0x4014fd
mov esi, eax
add esi, esi
add esi, 0x708
mov edx, esi
cmp edx, 0xadd
je 0x401541
dec edx
add dword [0x412db8], edx
add edx, dword [0x412b96]
ror edx, 1
sub edx, ebx
shl edx, 1
sub dword [0x412a65], edx
push 0x3aacf3
pop eax
mov esi, 0x67d20
add eax, esi
push eax
push 0xd9
pop esi
push esi
mov edi, 0xd
push edi
push 7
pop ecx
push ecx
mov eax, dword [sym.imp.gdi32.dll_SetWindowExtEx]
call eax
or eax, eax
jne 0x401462
jmp 0x4014ef
and esi, 0x76
or edi, 0x78
lea eax, [0x38]
mov edi, ebx
mov ecx, 0xa8
push 0
push 0
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov eax, 0x25
mov edx, eax
push edx
mov dword [0x4131ab], 0
mov ecx, dword [0x4131ab]
push ecx
push 9
pop edx
push edx
mov ecx, 5
mov ebx, ecx
push ebx
push 0xaef079
pop edx
sub edx, 0x6e0f41
call dword [edx]
mov dword [0x413384], eax
or eax, eax
je 0x401634
dec edi
inc eax
jmp 0x4015d0
sub ebx, eax
mov esi, 0xbe
xor edi, ebx
inc ebx
mov edx, esi
push 0x175971
pop esi
add esi, 0x29c7ca
push esi
mov eax, 0x60
mov edi, eax
push edi
mov edi, 0x97
push edi
push 3
pop edi
push edi
mov esi, 0x2070a6
shl esi, 1
call dword [esi]
mov dword [0x412639], eax
mov ebx, 0x3f
mov eax, ebx
push eax
xor esi, esi
push esi
push 1
pop ebx
push ebx
mov edx, 1
push edx
mov ebx, 0x1597b8
mov edx, ebx
mov esi, 0x2b4980
add edx, esi
push dword [edx]
mov esi, 0x412cfc
pop dword [esi]
mov edx, dword [0x412cfc]
call edx
mov dword [0x41289e], eax
or eax, eax
jne 0x4016b9
add esi, eax
sbb ebx, ebx
leave
ret
mov ecx, esi
add ecx, 2
mov eax, 0x34
add esi, 1
mov edx, 0x59
sub esi, eax
xor edi, edi
push edi
push 0x2070b8
pop eax
shl eax, 1
call dword [eax]
mov esi, 0xf6eea
mov eax, 0x3171ee
add esi, eax
push dword [esi]
pop dword [0x41358c]
mov esi, dword [0x41358c]
call esi
or eax, eax
je 0x4014ef
xor ecx, ecx
push ecx
mov edi, 3
push edi
mov esi, dword [sym.imp.gdi32.dll_GetAspectRatioFilterEx]
call esi
or eax, eax
jne 0x4016ce
mov esi, 0x61f38dee
mov ecx, esi
push ecx
mov dword [0x412e9d], 0
mov ebx, dword [0x412e9d]
push ebx
mov ecx, 0xa2b35e
mov ebx, ecx
mov edx, 0x61d27e
sub ebx, edx
call dword [ebx]
or eax, eax
jne 0x401455
jmp 0x4016bb
lea edi, [edi + 0x63]
cmp eax, dword [0x413f38]
dec ebx
push 0
push 0
mov eax, 0
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov eax, edi
add eax, esi
inc eax
add eax, esi
add eax, dword [0x412bd7]
shr eax, 6
inc eax
ror eax, 5
add eax, 0x227
sub dword [0x4132c1], eax
jmp 0x401755
lea ecx, [0xff]
add ebx, esi
mov ebx, 2
push 0
push 0
mov eax, 0
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov edx, 0x2b
mov ecx, edx
push ecx
mov edx, 0x13
mov eax, edx
push eax
mov edx, 9
push edx
mov eax, 1
mov edx, eax
push edx
mov ebx, dword [sym.imp.USER32.DLL_CreateCaret]
call ebx
or eax, eax
jne 0x401464
mov dword [0x41221e], 0
mov edx, dword [0x41221e]
push edx
push 0x2070b8
pop eax
shl eax, 1
call dword [eax]
or eax, eax
je 0x4015d9
call 0x401797
lea ecx, [eax + 0x1b]
xor ebx, eax
mov edx, 0x78
sub eax, 1
sub esi, ecx
inc ebx
push 0
pop ebx
push ebx
mov ebx, dword [sym.imp.ADVAPI32.DLL_RegFlushKey]
call ebx
or eax, eax
je 0x401797
xor ebx, ebx
push ebx
mov ecx, 0x1b9f4e
add ecx, 0x254222
push dword [ecx]
mov ebx, 0x412c87
pop dword [ebx]
mov ecx, dword [0x412c87]
call ecx
or eax, eax
je 0x4016bb
call 0x40180c
sub esi, 1
add edi, 2
mov ebx, eax
dec ebx
dec eax
inc esi
push 0x46
pop ecx
push ecx
mov dword [0x4127b0], 0
mov ebx, dword [0x4127b0]
push ebx
xor ecx, ecx
push ecx
push 0x22
pop ebx
push ebx
xor edi, edi
push edi
mov ebx, 1
push ebx
mov eax, dword [sym.imp.gdi32.dll_CreateDIBitmap]
call eax
or eax, eax
jne 0x4016b7
mov eax, 0xeed
dec eax
sub eax, dword [0x412838]
sub eax, 0xb45
js 0x4018c4
inc eax
ror eax, 1
sub eax, esi
add dword [0x41314b], eax
leave
ret
or edi, 0x44
add esi, 1
mov esi, 0xec
lea edx, [0xe2]
add esi, eax
mov eax, 5
mov edx, eax
push edx
mov ebx, 0x5a373e
mov edx, ebx
sub edx, 0x1955de
call dword [edx]
or eax, eax
jne 0x4018d3
mov eax, 9
push eax
mov ebx, 0x251115
add ebx, 0x1bd02b
push dword [ebx]
push 0x4132e7
pop edx
pop dword [edx]
mov ebx, dword [0x4132e7]
call ebx
mov dword [0x413193], eax
jmp 0x4018d0
add ebx, edi
push 0
push 0
mov dword [0x412d50], 0
mov ebx, dword [0x412d50]
push ebx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ebx, 0x301da3
mov ecx, ebx
mov eax, 0x110f0f
add ecx, eax
push ecx
mov dword [0x41320e], 0
mov ecx, dword [0x41320e]
push ecx
mov ecx, 0x4e3947
mov esi, ecx
sub esi, 0xd57c3
call dword [esi]
or eax, eax
je 0x40179f
ret
sub ecx, 1
or eax, 0x36
add edi, 1
push 0
push 0
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov eax, 0x207066
mov esi, eax
shl esi, 1
call dword [esi]
or eax, eax
jne 0x4016b5
push 5
pop eax
push eax
mov eax, dword [sym.imp.gdi32.dll_EndPath]
call eax
or eax, eax
jne 0x401940
mov eax, 0
add eax, dword [0x4136fb]
mov esi, eax
shl esi, 1
cmp esi, 0xdb
jns 0x4019f9
mov edi, esi
sub edi, dword [0x412843]
sub dword [0x413622], edi
push eax
call fcn.00401995
sub esi, 2
lea ecx, [0x8b]
add ebx, eax
dec eax
sub eax, dword [0x41288d]
sub eax, 2
dec ebx
mov edx, 0x3d7
add edx, ecx
sub dword [0x412faa], edx
add edx, eax
shr edx, 6
add edx, 0x3da
js 0x401a4f
sub edx, 0x5f2
jns 0x401a4f
sub edx, dword [0x41308f]
sub edx, 0xa6c
sub dword [0x413034], edx
jmp 0x401a0b
mov edx, edi
push 0
push 0
mov dword [0x412759], 0
mov esi, dword [0x412759]
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
xor eax, eax
push eax
mov edx, dword [sym.imp.KERNEL32.DLL_AddAtomW]
call edx
mov dword [0x41266f], eax
or eax, eax
je 0x401aa4
add esi, edi
dec edi
mov ecx, 0x64107
mov esi, ecx
add esi, 0x3ae618
push esi
xor esi, esi
push esi
mov ebx, 0x5fa05b
push 0x1ebfb3
pop edx
sub ebx, edx
call dword [ebx]
inc eax
jne 0x401873
mov dword [0x41277e], 0
mov esi, dword [0x41277e]
push esi
mov dword [0x412cd5], 0
mov ecx, dword [0x412cd5]
push ecx
mov dword [0x413672], 0
mov ebx, dword [0x413672]
push ebx
mov ecx, 1
mov esi, ecx
push esi
push 0x2070ae
pop edx
shl edx, 1
call dword [edx]
or eax, eax
jne 0x4016bb
leave
ret
sub edi, 2
mov edi, 0x34
sub eax, 2
xor esi, eax
sbb edi, esi
push 0x1159f5
pop edx
add edx, 0x2fd050
push edx
mov dword [0x412bfb], 0
mov edi, dword [0x412bfb]
push edi
push 0xa48eaa
pop eax
mov ecx, 0x63ad2a
mov esi, ecx
sub eax, esi
call dword [eax]
or eax, eax
je 0x401761
jmp 0x401b1a
mov dword [ebp - 8], ebp
mov eax, dword [ebp - 8]
mov esi, eax
push esi
mov ebp, esp
sub esp, 0x60
push edi
push esi
mov ebx, edi
sub ebx, eax
add ebx, esi
inc ebx
ror ebx, 1
sub dword [0x41310e], ebx
push 0x6fa63
push 0xd5a47
call fcn.004012a8
mov dword [0x412883], eax
or eax, eax
je 0x402a01
inc eax
inc esi
push 0
push 0xf003f
push 0
push 0x4127c4
push 0x80000001
mov edx, 0x2070ba
shl edx, 1
call dword [edx]
push 0x817
pop edi
add edi, dword [0x4122bc]
dec edi
rol edi, 8
dec edi
mov dword [ebp - 0x2c], edi
push 0x2b2
pop edx
dec edx
sub edx, 0x903
shl edx, 1
sub edx, esi
inc edx
mov dword [ebp - 0x48], edx
mov edx, 0
shr edx, 1
mov dword [ebp - 0x38], edx
sub edx, dword [0x412b48]
add edx, 0x3c0
jae 0x402a64
sub edx, 0xafc
sub edx, ebx
add dword [0x4132aa], edx
shr edx, 2
mov dword [ebp - 8], edx
push 0xcc478
call fcn.004013d0
mov dword [0x413601], eax
or eax, eax
jne 0x402a89
or esi, 0x7a
inc esi
push 0
push 0x24b676
pop esi
mov ebx, 0x1c2a5a
add esi, ebx
push dword [esi]
pop dword [0x4120a7]
mov esi, dword [0x4120a7]
call esi
push edi
push eax
push eax
push 0x28c97
lea eax, [0x413428]
push eax
push 0
call fcn.0040115c
mov dword [0x413065], eax
push 0
push 0xbdd34
call fcn.004012a8
mov dword [ebp - 0x58], eax
or eax, eax
je 0x402ada
mov edx, ebx
add edx, eax
mov ecx, 0xcb4
add ecx, dword [0x412e36]
sub ecx, ebx
shr ecx, 1
cmp ecx, 0x193
jae 0x402af7
add dword [0x4131c5], ecx
add ecx, esi
add dword [0x412fd5], ecx
push esi
push edx
push 0x5b136
call fcn.004011a0
mov dword [0x41353a], eax
or eax, eax
je 0x402b17
xor edi, edi
cdq
mov ecx, 0x5e24b
mov edx, ecx
mov dword [ebp - 0x3c], 0x3b4ae1
add edx, dword [ebp - 0x3c]
push edx
push 0xd4
pop eax
push eax
mov esi, 0xba
mov edx, esi
push edx
mov edx, 9
push edx
mov eax, dword [sym.imp.gdi32.dll_SetWindowExtEx]
call eax
or eax, eax
jne 0x40186b
lea eax, [0x4132c9]
push eax
call fcn.004012fc
mov dword [ebp - 0x38], eax
or eax, eax
je 0x402b64
xchg esi, edi
add edi, ebx
push 0x2d0acb
pop eax
mov ebx, 0x1423b6
add eax, ebx
push eax
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x1c]
push ecx
push 0x2bc8e9
pop esi
add esi, 0x151897
mov esi, dword [esi]
call esi
push 0x1a
pop ecx
push ecx
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x60]
push ecx
push 0
pop esi
push esi
mov eax, dword [sym.imp.KERNEL32.DLL_GlobalGetAtomNameW]
call eax
or eax, eax
jne 0x401462
lea edx, [edx + 0x41312f]
sub dword [0x41205b], edx
ror edx, 1
add edx, eax
add edx, dword [0x4132de]
sub edx, 0x22b
add edx, dword [0x4134c0]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0xc], 0xf6
mov ecx, dword [ebp - 0xc]
push ecx
mov eax, 0xf
push eax
mov esi, 1
push esi
push 5
pop eax
push eax
mov edi, dword [sym.imp.USER32.DLL_CreateCaret]
call edi
or eax, eax
jne 0x401639
mov dword [0x412316], 0
mov ecx, dword [0x412316]
push ecx
mov dword [ebp - 0x40], 0x7a41d4
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], 0x3960d0
sub ebx, dword [ebp - 0x1c]
call dword [ebx]
or eax, eax
jne 0x4018d3
mov dword [ebp - 0x38], 0
mov esi, dword [ebp - 0x38]
push esi
mov dword [ebp - 0x48], 5
mov eax, dword [ebp - 0x48]
push eax
mov dword [ebp - 0x28], 0x4e2891
mov eax, dword [ebp - 0x28]
push 0xd4749
pop esi
sub eax, esi
call dword [eax]
or eax, eax
jne 0x4019a1
mov dword [ebp - 0x44], 0x312d187a
mov edx, dword [ebp - 0x44]
push edx
xor edi, edi
push edi
mov edx, dword [sym.imp.USER32.DLL_EnableWindow]
call edx
or eax, eax
jne 0x4018d9
mov esi, 0x53f87f24
mov edi, esi
push edi
push 0
pop edi
push edi
mov eax, dword [sym.imp.USER32.DLL_GetWindowLongW]
call eax
mov dword [ebp - 0x50], eax
or eax, eax
jne 0x402ca6
xor ebx, ebp
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
push eax
mov dword [ebp - 0x30], 0x7f
mov eax, dword [ebp - 0x30]
push eax
mov edx, 0x86
push edx
mov edi, 5
mov ecx, edi
push ecx
mov esi, dword [sym.imp.gdi32.dll_SetDIBColorTable]
call esi
mov dword [ebp - 0x20], eax
or eax, eax
je 0x402cda
inc esi
mov dword [ebp - 0x58], 0x26e1eb
mov esi, dword [ebp - 0x58]
mov eax, 0x1a5352
add esi, eax
push esi
mov edx, 0x28
push edx
push 0x33
pop ecx
push ecx
mov dword [ebp - 0x44], 1
mov esi, dword [ebp - 0x44]
push esi
mov edi, 0x3157a4
mov edx, 0xf89a8
add edi, edx
push dword [edi]
pop dword [0x412a18]
mov edi, dword [0x412a18]
call edi
or eax, eax
jne 0x4019a4
mov ecx, 0x13a833
mov edi, ecx
mov eax, 0x2d8563
add edi, eax
push edi
mov ecx, 0
push ecx
mov edi, 0x16b366
mov ebx, edi
mov eax, 0x2a2e1e
add ebx, eax
push dword [ebx]
pop ebx
call ebx
mov ebx, 0xd58
shr ebx, 6
dec ebx
sub ebx, 0xe91
ja 0x402d64
shr ebx, 7
add ebx, edi
mov dword [ebp - 0x38], ebx
sub dword [0x4127b9], ebx
push edi
call fcn.0040137c
mov dword [ebp - 0x20], eax
or eax, eax
je 0x402d7d
dec esi
push 0
push 0
call fcn.0040126c
push 0
lea eax, [0x4128dc]
push eax
lea eax, [0x4124b5]
push eax
push 0
call fcn.00401414
mov dword [ebp - 0xc], eax
mov dword [0x412f08], 0
mov edi, dword [0x412f08]
push edi
mov ecx, 1
mov edi, ecx
push edi
push 0x2070ac
pop ecx
shl ecx, 1
call dword [ecx]
or eax, eax
jne 0x401b20
push 0xd2b31
call fcn.004012fc
push edi
lea eax, [0x412511]
push eax
push ebx
push 0
add esi, edi
push 0x8c4b
push 0x5595b
call fcn.00401334
mov ebx, 0x47
mov edi, ebx
push edi
mov dword [ebp - 0x1c], 0
mov edi, dword [ebp - 0x1c]
push edi
mov dword [0x413486], 0
mov eax, dword [0x413486]
push eax
push 0xcd
pop eax
push eax
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 0xc]
push edx
push 9
pop eax
push eax
mov esi, 0x2070b2
shl esi, 1
call dword [esi]
or eax, eax
jne 0x401865
xor eax, eax
push eax
mov dword [ebp - 0x1c], 0x207074
mov ebx, dword [ebp - 0x1c]
shl ebx, 1
call dword [ebx]
or eax, eax
jne 0x4015d9
mov dword [ebp - 0x34], 3
mov edi, dword [ebp - 0x34]
push edi
push 0xe715e2
pop edx
mov dword [ebp - 0x18], 0xa635b6
sub edx, dword [ebp - 0x18]
call dword [edx]
or eax, eax
jne 0x401b1a
push 0x358dfe
pop edi
mov ebx, 0xba5a3
add edi, ebx
push edi
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
push edx
push 0x3dec3e
pop edi
mov dword [0x41373e], 0x2f542
add edi, dword [0x41373e]
push dword [edi]
pop dword [0x412e5d]
mov edi, dword [0x412e5d]
call edi
or eax, eax
je 0x40180c
lea eax, [0x413216]
push eax
push esi
push 0xf4188
push esi
push 0
mov ecx, 0x1bfa86
add ecx, 0x2420ee
call ecx
cmp eax, 0
je 0x401632
mov ebx, eax
push 0x396972
pop edi
mov eax, 0x7c2a2
add edi, eax
push edi
mov eax, 0
mov edx, eax
push edx
mov edi, 0x4e2c88
sub edi, 0xd4b08
call dword [edi]
or eax, eax
je 0x401632
push edi
push 0
add esi, edi
push eax
mov dword [ebp - 0x20], eax
inc eax
push 0
lea eax, [0x412c90]
push eax
push 0
call fcn.0040115c
mov dword [ebp - 0x18], eax
push 9
pop edx
push edx
push 0x61
pop ecx
push ecx
mov dword [ebp - 4], 0x71
mov eax, dword [ebp - 4]
push eax
mov esi, 1
push esi
push 0x32986b
pop edx
mov dword [0x412f7f], 0xe4895
add edx, dword [0x412f7f]
mov edx, dword [edx]
call edx
or eax, eax
jne 0x401761
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
push eax
mov dword [ebp - 0x4c], 0x245f5e
mov edx, dword [ebp - 0x4c]
mov ecx, 0x1c81a6
add edx, ecx
push dword [edx]
pop dword [0x412161]
mov edx, dword [0x412161]
call edx
or eax, eax
jne 0x40179f
mov eax, 0x2104d4
mov ecx, eax
mov dword [0x41307d], 0x202a45
add ecx, dword [0x41307d]
push ecx
xor eax, eax
push eax
mov dword [ebp - 0x60], 0x1fc9af
mov ecx, dword [ebp - 0x60]
mov eax, 0x2117d5
add ecx, eax
mov ecx, dword [ecx]
call ecx
or eax, eax
je 0x401643
mov dword [ebp - 0x58], 0x3752d5
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], 0x98e4f
add eax, dword [ebp - 0x18]
push dword [eax]
pop dword [0x412f4e]
mov eax, dword [0x412f4e]
call eax
or eax, eax
je 0x4014f7
lea eax, [0x4129b5]
push eax
push 0
call fcn.0040126c
mov dword [0x412a62], eax
mov edi, 0
add edi, 0xb51
sub edi, 0x5a5
jae 0x403034
mov dword [ebp - 0x58], edi
sub edi, eax
sub edi, 0x50d
add edi, esi
sub dword [0x4134f5], edi
mov eax, 0x612c271
push eax
mov dword [ebp - 0x60], 0
mov edi, dword [ebp - 0x60]
push edi
mov dword [ebp - 0x54], 0x2070aa
mov eax, dword [ebp - 0x54]
shl eax, 1
call dword [eax]
mov dword [ebp - 0x14], eax
or eax, eax
je 0x40306c
xor eax, edi
dec edi
add eax, esi
add eax, esi
sub edi, ebx
push esi
call fcn.004010d8
mov dword [0x412888], eax
push 0
pop esi
push esi
mov eax, dword [sym.imp.USER32.DLL_UpdateWindow]
call eax
or eax, eax
jne 0x40199b
mov dword [ebp - 0x10], 0x53
mov edi, dword [ebp - 0x10]
push edi
mov dword [0x412e88], 0
mov eax, dword [0x412e88]
push eax
mov dword [0x412a9d], 0
mov ecx, dword [0x412a9d]
push ecx
mov eax, 0xdb
push eax
xor eax, eax
push eax
mov edi, 1
mov esi, edi
push esi
mov ecx, 0xfa5298
mov esi, ecx
mov ecx, 0xb97134
mov eax, ecx
sub esi, eax
call dword [esi]
or eax, eax
jne 0x401a70
push 0
call fcn.004012fc
mov dword [0x413264], eax
or eax, eax
jne 0x4030fc
dec esi
push 0xd8b1a
call fcn.004013d0
mov dword [0x412c18], eax
xor eax, eax
push eax
mov edx, dword [sym.imp.ADVAPI32.DLL_RegFlushKey]
call edx
or eax, eax
je 0x401455
push edi
call fcn.004013d0
mov dword [ebp - 0x48], eax
push 0
pop esi
push esi
mov dword [0x41338f], 0
mov eax, dword [0x41338f]
push eax
push 0
pop esi
push esi
push 5
pop eax
push eax
mov dword [ebp - 0xc], 0x2070ae
mov esi, dword [ebp - 0xc]
shl esi, 1
call dword [esi]
or eax, eax
jne 0x4014f7
lea eax, [0x413184]
push eax
lea eax, [0x41341b]
push eax
mov eax, 0x8fcbce91
sub eax, 0x8f8bae59
call eax
push esi
push edi
push eax
lea eax, [0x412cee]
push eax
push 0
push esi
push 0x506b9
lea eax, [0x4132fc]
push eax
call fcn.0040115c
push 0xdc6a3
lea eax, [0x4130c9]
push eax
push ebx
push 0x64e
inc ebx
push 0xc0621
push 0
call fcn.0040115c
mov dword [0x412b69], eax
or eax, eax
je 0x4031c5
sub eax, edi
lea eax, [0x41303e]
push eax
call fcn.004013d0
mov dword [0x4135a2], eax
or eax, eax
je 0x4031db
dec edi
push esi
push 0x81168
call fcn.004012a8
mov dword [0x412236], eax
lea eax, [0x4125d6]
push eax
call fcn.004010d8
mov dword [ebp - 0x34], eax
or eax, eax
je 0x403202
xor esi, esi
sub ebx, eax
push ebx
mov dword [ebp - 0x3c], ebx
dec ebx
inc ebx
lea eax, [0x412412]
push eax
call fcn.0040126c
mov dword [ebp - 0x28], eax
or eax, eax
je 0x40321d
inc edi
dec eax
push 0x477d9
push 0
push 0
push ebx
call fcn.00401414
mov dword [0x412c09], eax
or eax, eax
je 0x403237
add esi, edi
push 0
push 0
lea eax, [0x412ec3]
push eax
or ax, si
inc edi
inc ebx
lea eax, [0x412a3e]
push eax
call fcn.004011f8
mov edx, 0
ror edx, 1
shl edx, 1
dec edx
shl edx, 1
rol edx, 3
sub edx, 0x38c
sub edx, dword [0x4120b3]
inc edx
cmp edx, 0x255
jbe 0x403279
add edx, ebx
mov dword [ebp - 0x38], edx
mov ecx, 0
shl ecx, 1
sub ecx, ebx
add ecx, dword [0x4136f3]
dec ecx
rol ecx, 1
mov dword [ebp - 0x14], ecx
add ecx, 0x741
mov ebx, ecx
shl ebx, 1
sub dword [0x4124c9], ebx
ret