Function at 0x41fe10
Capabilities:
Check for time delay via gettickcount
Check http status code
Delete file
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x450d9a
mov eax, dword fs:[0]
push eax
sub esp, 0x930
mov eax, dword [0x4612b0]
xor eax, esp
mov dword [esp + 0x928], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4612b0]
xor eax, esp
push eax
lea eax, [esp + 0x944]
mov dword fs:[0], eax
mov eax, dword [esp + 0x954]
mov ebp, dword [esp + 0x958]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x94c], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 2
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
je 0x41fe87
sub eax, 2
je 0x41fe87
sub eax, 4
je 0x41fe87
xor eax, eax
jmp 0x41fe90
push 0
call edi
mov eax, 1
sub eax, 1
jne 0x41fe9f
call fcn.004308a0
call fcn.00418650
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0
shr esi, 0x18
call fcn.0043a6c4
imul eax, eax, 0x63
add esp, 4
cmp esi, eax
jbe 0x41fec4
push 0
call edi
call fcn.00418100
mov dword [esp + 0x24], 0
call fcn.004172f0
test eax, eax
je 0x41feda
call fcn.00419840
cmp dword [esp + 0x974], 0x10
mov eax, dword [esp + 0x960]
jae 0x41fef2
lea eax, [esp + 0x960]
lea ecx, [esp + 0x24]
push ecx
push 0xf003f
push 0
push eax
push ebp
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ebx, eax
cmp ebx, 2
jne 0x4200ac
mov eax, dword [esp + 0x960]
mov esi, 0x10
cmp dword [esp + 0x974], esi
jae 0x41ff2d
lea eax, [esp + 0x960]
push 0
lea edx, [esp + 0x28]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push eax
push ebp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ebx, eax
mov eax, dword [esp + 0x960]
cmp dword [esp + 0x974], esi
jae 0x41ff62
lea eax, [esp + 0x960]
push eax
push ebp
lea eax, [esp + 0x98]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], 0
mov byte [edi], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x48], esp
cmp eax, 0x10
jb 0x41ff95
mov ecx, dword [edi]
jmp 0x41ff97
mov ecx, edi
cmp ecx, 0x456e2c
ja 0x41ffd2
cmp eax, 0x10
jb 0x41ffa8
mov ecx, dword [edi]
jmp 0x41ffaa
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456e2c
jbe 0x41ffd2
cmp eax, 0x10
jb 0x41ffbe
mov edi, dword [edi]
push 0x39
mov eax, 0x456e2c
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x420016
cmp eax, 0x39
jae 0x41ffe4
mov ecx, dword [esi + 0x14]
push ecx
push 0x39
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41fff0
mov eax, dword [edi]
jmp 0x41fff2
mov eax, edi
push 0x39
push 0x456e2c
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x39
jb 0x420012
mov edi, dword [edi]
mov byte [edi + 0x39], 0
lea esi, [esp + 0x60]
call fcn.004016b0
mov byte [esp + 0x958], 2
call fcn.00401930
mov esi, 0x10
mov byte [esp + 0x954], 3
cmp dword [eax + 0x18], esi
jb 0x420043
mov eax, dword [eax + 4]
jmp 0x420046
add eax, 4
mov edx, dword [esp + 0x24]
push eax
push 1
push edx
call fcn.0041d220
add esp, 0x14
cmp dword [esp + 0xa8], esi
jb 0x42006f
mov eax, dword [esp + 0x94]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x38]
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov byte [esp + 0x94c], 1
call fcn.00429e20
call fcn.00435460
test eax, eax
je 0x4200ac
call fcn.00435810
cmp ebx, 5
jne 0x4201fe
cmp dword [esp + 0x974], 0x10
mov eax, dword [esp + 0x960]
jae 0x4200cd
lea eax, [esp + 0x960]
push eax
push ebp
lea ecx, [esp + 0x98]
push ecx
sub esp, 0x1c
mov esi, esp
mov ebp, 0xf
mov dword [esi + 0x18], ebp
lea edi, [esi + 4]
mov dword [esi + 0x14], 0
mov byte [edi], 0
mov eax, dword [esi + 0x18]
mov ebx, 0x10
mov dword [esp + 0x48], esp
cmp eax, ebx
jb 0x420105
mov ecx, dword [edi]
jmp 0x420107
mov ecx, edi
cmp ecx, 0x456e68
ja 0x420140
cmp eax, ebx
jb 0x420117
mov ecx, dword [edi]
jmp 0x420119
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456e68
jbe 0x420140
cmp eax, ebx
jb 0x42012c
mov edi, dword [edi]
push 0x3c
mov eax, 0x456e68
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x420182
cmp eax, 0x3c
jae 0x420152
mov ecx, dword [esi + 0x14]
push ecx
push 0x3c
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
jb 0x42015d
mov eax, dword [edi]
jmp 0x42015f
mov eax, edi
push 0x3c
push 0x456e68
push ecx
push eax
call fcn.00439429
add esp, 0x10
mov dword [esi + 0x14], 0x3c
cmp dword [esi + 0x18], ebx
jb 0x42017e
mov edi, dword [edi]
mov byte [edi + 0x3c], 0
lea esi, [esp + 0x60]
call fcn.004016b0
mov byte [esp + 0x958], 4
call fcn.00401930
mov byte [esp + 0x954], 5
cmp dword [eax + 0x18], ebx
jb 0x4201aa
mov eax, dword [eax + 4]
jmp 0x4201ad
add eax, 4
mov edx, dword [esp + 0x24]
push eax
push 1
push edx
call fcn.0041d220
add esp, 0x14
cmp dword [esp + 0xa8], ebx
jb 0x4201d6
mov eax, dword [esp + 0x94]
push eax
call fcn.004393c9
add esp, 4
mov dword [esp + 0xa8], ebp
lea esi, [esp + 0x38]
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
call fcn.00429e20
jmp 0x420af4
test ebx, ebx
je 0x42033c
cmp dword [esp + 0x974], 0x10
mov eax, dword [esp + 0x960]
jae 0x42021e
lea eax, [esp + 0x960]
push eax
push ebp
push ebx
lea ecx, [esp + 0x9c]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], 0
mov byte [edi], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x4c], esp
cmp eax, 0x10
jb 0x420252
mov ecx, dword [edi]
jmp 0x420254
mov ecx, edi
cmp ecx, 0x456ea8
ja 0x42028f
cmp eax, 0x10
jb 0x420265
mov ecx, dword [edi]
jmp 0x420267
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456ea8
jbe 0x42028f
cmp eax, 0x10
jb 0x42027b
mov edi, dword [edi]
push 0x3f
mov eax, 0x456ea8
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x4202d3
cmp eax, 0x3f
jae 0x4202a1
mov ecx, dword [esi + 0x14]
push ecx
push 0x3f
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x4202ad
mov eax, dword [edi]
jmp 0x4202af
mov eax, edi
push 0x3f
push 0x456ea8
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x3f
jb 0x4202cf
mov edi, dword [edi]
mov byte [edi + 0x3f], 0
lea esi, [esp + 0x64]
call fcn.004016b0
mov byte [esp + 0x95c], 6
call fcn.00401850
mov esi, 0x10
mov byte [esp + 0x958], 7
cmp dword [eax + 0x18], esi
jb 0x420300
mov eax, dword [eax + 4]
jmp 0x420303
add eax, 4
mov edx, dword [esp + 0x28]
push eax
push 1
push edx
call fcn.0041d220
add esp, 0x18
cmp dword [esp + 0xa8], esi
jb 0x42032c
mov eax, dword [esp + 0x94]
push eax
call fcn.004393c9
add esp, 4
mov dword [esp + 0xa8], 0xf
jmp 0x4201dd
cmp dword [esp + 0x24], 0
je 0x420b32
xor edi, edi
mov ebx, 0xf
mov dword [esp + 0x28], edi
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xc4], edi
mov byte [esp + 0xb4], 0
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe0], edi
mov byte [esp + 0xd0], 0
mov dword [esp + 0x100], ebx
mov dword [esp + 0xfc], edi
mov byte [esp + 0xec], 0
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x118], edi
mov byte [esp + 0x108], 0
mov esi, dword [esp + 0x994]
mov byte [esp + 0x94c], 8
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], edi
mov dword [esp + 0x134], 1
mov dword [esp + 0xac], ebp
mov dword [esp + 0x130], edi
call fcn.004175b0
test eax, eax
je 0x4203ee
call fcn.00419900
push 0
call fcn.0043a6c4
add esp, 4
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x964]
push ecx
mov ebp, 8
lea ecx, [esp + 0xbc]
mov dword [esp + 0x958], ebp
call fcn.00402d80
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x980]
push edx
lea ecx, [esp + 0xd8]
call fcn.00402d80
test esi, esi
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
je 0x420771
push 0x3ff
lea eax, [esp + 0x141]
push 0
push eax
mov byte [esp + 0x148], 0
call fcn.0043fbd0
mov eax, dword [esp + 0x988]
add esp, 0xc
cmp dword [esp + 0x990], 0x10
mov dword [esp + 0x28], 0x400
jae 0x420481
lea eax, [esp + 0x97c]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x140]
push edx
push 0
push 0
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4209ac
lea eax, [esp + 0x13c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4204b0
sub eax, edx
je 0x4209ac
call fcn.00417360
mov ecx, eax
mov eax, 0x4325c53f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x7a
jle 0x4204ea
push 0x7a
call esi
call fcn.00418720
call fcn.004187d0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 2
je 0x4204ff
sub eax, 2
je 0x4204ff
sub eax, 4
jne 0x420505
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esp + 0x94c], ebp
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov byte [esp + 0x94c], 0xd
call fcn.00435510
mov ecx, eax
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x138
jle 0x420560
push 0x138
call esi
call fcn.00419f30
call fcn.00419f30
lea ecx, [esp + 0x90]
push ecx
sub esp, 0x1c
lea edx, [esp + 0x15c]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
lea esi, [esp + 0x44]
call fcn.00404230
mov ebp, dword [esp + 0x3c]
push ebp
mov ecx, esi
call fcn.0040ef90
test eax, eax
jge 0x4205ab
lea ecx, [esp + 0x90]
mov byte [esp + 0x94c], 8
call fcn.00402bd0
jmp 0x4209b0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xf4]
call fcn.00402d80
call fcn.00417640
sub eax, 1
jne 0x4205d7
call fcn.00436210
call fcn.00418970
sub esp, 0x1c
lea edx, [esp + 0x158]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call fcn.00404230
lea eax, [esp + 0xc8]
push eax
push ebp
call fcn.00421300
test eax, eax
jge 0x420618
lea ecx, [esp + 0x90]
mov byte [esp + 0x94c], 8
call fcn.00402bd0
jmp 0x4209b0
sub esp, 0x1c
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call fcn.00402ba0
push ebp
call fcn.0041c3d0
test eax, eax
jl 0x42063d
mov edi, 1
call fcn.004177a0
mov ecx, eax
mov eax, 0xae4c415d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xbc
jle 0x420673
push 0xbc
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00418fd0
call fcn.00419f30
call fcn.00417360
test eax, eax
je 0x420686
call fcn.00435810
call fcn.004188a0
lea ecx, [esp + 0x90]
mov byte [esp + 0x94c], 8
call fcn.00402bd0
test edi, edi
jne 0x420f23
lea ecx, [esp + 0xac]
push ecx
push ebp
call fcn.00422890
mov esi, eax
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4206c0
sub eax, edx
mov ecx, 0
setne cl
mov eax, 0x931b4b91
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x1bd8
jle 0x420700
push 0x1bd8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00418fd0
call fcn.00418fd0
test esi, esi
jge 0x420f5a
mov eax, dword [esp + 0x108]
mov edi, 0x10
cmp dword [esp + 0x11c], edi
jae 0x420724
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x94]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x45
mov ecx, 0x457060
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x1d
call fcn.00401770
mov byte [esp + 0x950], 0x1e
cmp dword [eax + 0x18], edi
jb 0x420a29
mov eax, dword [eax + 4]
jmp 0x420a2c
mov ebp, dword [esp + 0x1c]
xor edi, edi
mov byte [esp + 0x17], 0
lea esp, [esp]
push 0x3ff
lea ecx, [esp + 0x141]
push 0
push ecx
mov byte [esp + 0x148], 0
call fcn.0043fbd0
add esp, 0xc
push 0x3ff
lea edx, [esp + 0x541]
push 0
push edx
mov byte [esp + 0x548], 0
call fcn.0043fbd0
mov esi, 0x400
lea eax, [esp + 0x23]
add esp, 0xc
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4207d0
sub eax, edx
je 0x4207e0
call fcn.00418970
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], 0
call fcn.004300d0
test eax, eax
je 0x4207fa
call fcn.004308a0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x540]
push ecx
lea edx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x30]
push 0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x150]
push ecx
push edi
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x4209b0
cmp dword [esp + 0x30], 1
jne 0x420956
lea eax, [esp + 0x13c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x420844
sub eax, edx
je 0x420956
lea eax, [esp + 0x53c]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x420860
sub eax, edx
je 0x420956
call fcn.004175f0
sub eax, 1
jne 0x420883
call fcn.00419f30
call fcn.00418a40
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
push 0
mov byte [esp + 0x950], 0xe
call fcn.0043a6c4
add esp, 4
lea eax, [esp + 0x18]
push eax
sub esp, 0x1c
lea edx, [esp + 0x15c]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
lea ebx, [esp + 0xb4]
call fcn.00404230
mov esi, dword [esp + 0x3c]
call fcn.0040ee80
test eax, eax
jl 0x42093b
push 0xffffffffffffffff
push 0
mov eax, ebx
push eax
lea ecx, [esp + 0xf4]
call fcn.00402d80
call fcn.00417730
sub eax, 1
jne 0x420905
call fcn.00418ae0
call fcn.00418970
call fcn.004172f0
test eax, eax
je 0x420913
call fcn.00418b50
sub esp, 0x1c
lea edx, [esp + 0x558]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00404230
lea eax, [esp + 0xc8]
push eax
push esi
call fcn.00421300
test eax, eax
jge 0x420965
lea ecx, [esp + 0x90]
mov byte [esp + 0x94c], 8
call fcn.00402bd0
mov ebx, 0xf
mov ebp, esi
inc edi
cmp edi, 0xc8
jb 0x420780
jmp 0x4209b0
sub esp, 0x1c
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402ba0
push esi
call fcn.0041c3d0
test eax, eax
jl 0x42098d
mov dword [esp + 0x28], 1
lea ecx, [esp + 0x90]
mov byte [esp + 0x94c], 8
call fcn.00402bd0
mov edi, dword [esp + 0x28]
mov ebp, esi
jmp 0x42069a
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0xac]
push eax
push ebp
lea ecx, [esp + 0x30]
call fcn.00421bb0
test eax, eax
jge 0x420bb3
cmp dword [esp + 0x11c], 0x10
mov eax, dword [esp + 0x108]
jae 0x4209e2
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x94]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x49
mov ecx, 0x456ee8
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0xf
call fcn.00401850
mov byte [esp + 0x950], 0x10
cmp dword [eax + 0x18], 0x10
jb 0x420a29
mov eax, dword [eax + 4]
jmp 0x420a2c
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x90]
call fcn.00402bd0
lea esi, [esp + 0x38]
mov byte [esp + 0x94c], 8
call fcn.00429e20
lea edi, [esp + 0xe8]
call fcn.0042a500
call fcn.00406570
test eax, eax
je 0x420a74
call fcn.00418df0
call fcn.00418e90
lea edi, [esp + 0x104]
call fcn.0042a500
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x980]
push edx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x130], 0
call fcn.00402d80
call fcn.00435510
sub eax, 1
jne 0x420ab7
call fcn.00419900
call fcn.00418f40
push 0
mov dword [esp + 0x124], 0xffffffff
call fcn.0043a6c4
mov esi, dword [esp + 0x20]
add esp, 4
lea eax, [esp + 0xac]
push eax
lea ebx, [esi + 0x2d8]
call fcn.0042aa30
call fcn.004172f0
lea esi, [esp + 0xac]
call fcn.00421280
mov eax, dword [esp + 0x24]
test eax, eax
je 0x420b32
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004393a7
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
inc esi
call fcn.004393a7
cdq
idiv esi
cmp edx, esi
jg 0x420b28
mov eax, esi
cdq
idiv esi
test edx, edx
je 0x420b32
call fcn.00435810
call fcn.00418fd0
mov esi, 0x10
cmp dword [esp + 0x974], esi
jb 0x420b50
mov edx, dword [esp + 0x960]
push edx
call fcn.004393c9
add esp, 4
mov dword [esp + 0x974], 0xf
mov dword [esp + 0x970], 0
mov byte [esp + 0x960], 0
cmp dword [esp + 0x990], esi
jb 0x420b87
mov eax, dword [esp + 0x97c]
push eax
call fcn.004393c9
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x944]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x928]
xor ecx, esp
call fcn.00438dc1
add esp, 0x93c
ret 0x44
sub esp, 0x1c
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402ba0
mov eax, dword [esp + 0x44]
push eax
push ebp
call fcn.0040dc00
test eax, eax
jge 0x420c67
cmp dword [esp + 0x11c], 0x10
mov eax, dword [esp + 0x108]
jae 0x420bf4
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x94]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x46
mov ecx, 0x456f38
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x11
call fcn.00401ca0
mov byte [esp + 0x950], 0x12
cmp dword [eax + 0x18], 0x10
jb 0x420c3b
mov eax, dword [eax + 4]
jmp 0x420c3e
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x90]
call fcn.00402bd0
lea esi, [esp + 0x38]
mov byte [esp + 0x94c], 8
call fcn.00429e20
sub esp, 0x1c
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402ba0
push ebp
call fcn.0041c3d0
test eax, eax
jge 0x420ece
cmp dword [esp + 0x11c], 0x10
mov eax, dword [esp + 0x108]
jae 0x420ca3
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x94]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x40
mov ecx, 0x456f80
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x13
call fcn.00401770
mov edi, 0x10
mov byte [esp + 0x950], 0x14
cmp dword [eax + 0x18], edi
jb 0x420cee
mov eax, dword [eax + 4]
jmp 0x420cf1
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x90]
call fcn.00402bd0
lea esi, [esp + 0x38]
call fcn.00429e20
call fcn.00435460
mov ebx, 8
mov dword [esp + 0x94c], ebx
call fcn.00406570
test eax, eax
je 0x420d31
call fcn.00418bc0
lea ecx, [esp + 0xac]
push ecx
push ebp
lea ecx, [esp + 0x30]
call fcn.00421bb0
test eax, eax
jge 0x420e0c
mov eax, dword [esp + 0x108]
cmp dword [esp + 0x11c], edi
jae 0x420d62
lea eax, [esp + 0x108]
push eax
lea edx, [esp + 0x94]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x49
mov ecx, 0x456fc8
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x17
call fcn.00401770
mov byte [esp + 0x950], 0x18
cmp dword [eax + 0x18], edi
jb 0x420da8
mov eax, dword [eax + 4]
jmp 0x420dab
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x90]
call fcn.00402bd0
lea esi, [esp + 0x38]
mov byte [esp + 0x94c], 8
call fcn.00429e20
call fcn.00417360
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xa
jle 0x420a55
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00419840
call fcn.00418c90
jmp 0x420a55
sub esp, 0x1c
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402ba0
push ebp
call fcn.0041c3d0
push 0
mov esi, eax
call fcn.0043a6c4
add esp, 4
test esi, esi
jge 0x420ece
mov eax, dword [esp + 0x108]
cmp dword [esp + 0x11c], edi
jae 0x420e53
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x94]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x40
mov ecx, 0x457018
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x19
call fcn.00401ad0
mov byte [esp + 0x950], 0x1a
cmp dword [eax + 0x18], edi
jb 0x420e99
mov eax, dword [eax + 4]
jmp 0x420e9c
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x90]
call fcn.00402bd0
lea esi, [esp + 0x38]
call fcn.00429e20
call fcn.00417640
mov dword [esp + 0x94c], ebx
jmp 0x420a55
cmp dword [esp + 0x134], 0
je 0x420a55
mov edi, dword [esp + 0x24]
lea esi, [esp + 0xac]
call fcn.00422820
test eax, eax
jl 0x420a55
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x420f00
sub eax, edx
je 0x420f10
call fcn.00418fd0
call fcn.00406540
test eax, eax
je 0x420f23
call fcn.00418100
call fcn.00418d40
mov ecx, dword [esp + 0x108]
mov eax, 0x10
cmp dword [esp + 0x11c], eax
jae 0x420f3f
lea ecx, [esp + 0x108]
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x25c], eax
jb 0x421231
mov eax, dword [esi + 0x248]
jmp 0x421237
sub esp, 0x1c
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402ba0
sub esp, 0x1c
lea eax, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
mov byte [esp + 0x988], 0x1f
call fcn.00402ba0
mov ecx, ebp
mov byte [esp + 0x984], 8
call fcn.0040da80
mov edi, 0x10
test eax, eax
jge 0x421074
mov eax, dword [esp + 0x108]
cmp dword [esp + 0x11c], edi
jae 0x420fc1
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x94]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x46
mov ecx, 0x4570a8
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x20
call fcn.00401850
mov byte [esp + 0x950], 0x21
cmp dword [eax + 0x18], edi
jb 0x421007
mov eax, dword [eax + 4]
jmp 0x42100a
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x90]
call fcn.00402bd0
lea esi, [esp + 0x38]
mov byte [esp + 0x94c], 8
call fcn.00429e20
call fcn.004176f0
mov ecx, eax
mov eax, 0x32676129
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xa287
jle 0x421074
push 0xa287
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
call fcn.00435810
sub esp, 0x1c
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402ba0
push ebp
call fcn.0041c3d0
mov esi, eax
call fcn.00417360
mov dword [esp + 0x94c], 8
test esi, esi
jge 0x420f23
mov eax, dword [esp + 0x108]
cmp dword [esp + 0x11c], edi
jae 0x4210c1
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x94]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x40
mov ecx, str._DRTSN:
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x24
call fcn.00401ca0
mov byte [esp + 0x950], 0x25
cmp dword [eax + 0x18], edi
jb 0x421107
mov eax, dword [eax + 4]
jmp 0x42110a
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x90]
call fcn.00402bd0
lea esi, [esp + 0x38]
mov byte [esp + 0x94c], 8
call fcn.00429e20
lea ecx, [esp + 0xac]
push ecx
push ebp
call fcn.00422890
test eax, eax
jge 0x4211a9
mov eax, dword [esp + 0x108]
cmp dword [esp + 0x11c], edi
jae 0x42115c
lea eax, [esp + 0x108]
push eax
lea edx, [esp + 0x94]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x45
mov ecx, 0x457138
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x26
call fcn.00401770
mov byte [esp + 0x950], 0x27
cmp dword [eax + 0x18], edi
jb 0x420a29
mov eax, dword [eax + 4]
jmp 0x420a2c
sub esp, 0x1c
lea eax, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00402ba0
push ebp
call fcn.0041c3d0
test eax, eax
jge 0x420f23
mov eax, dword [esp + 0x108]
cmp dword [esp + 0x11c], edi
jae 0x4211e4
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x94]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x40
mov ecx, 0x457180
call fcn.00404200
lea esi, [esp + 0x5c]
call fcn.004016b0
mov byte [esp + 0x954], 0x28
call fcn.00401850
mov byte [esp + 0x950], 0x29
cmp dword [eax + 0x18], edi
jb 0x420a29
mov eax, dword [eax + 4]
jmp 0x420a2c
lea eax, [esi + 0x248]
push ecx
push eax
call fcn.0043a90f
add esp, 8
test eax, eax
jne 0x420ad0
mov byte [esp + 0x17], al
lea eax, [esp + 0x17]
mov dword [esp + 0x128], 1
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421260
sub eax, edx
je 0x420ad0
call fcn.00418970
jmp 0x420ad0