Function at 0x4b0fbc
Capabilities:
Self delete

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x38
push 0
push 0
dec ecx
jne 0x4b0fc4
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4b223c
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x4b216f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
xor edx, edx
call fcn.004a7000
cmp byte [0x4b919e], 0
je 0x4b1013
mov eax, 0x4b2258
call fcn.004adfac
mov byte [0x4b919e], 1
xor eax, eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.00404740
cmp byte [0x4b91a8], 0
je 0x4b1040
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov edx, 0x4b2274
mov eax, dword [ebp - 4]
call fcn.004ae4dc
lea ecx, [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x320]
mov edx, dword [ebp - 0x10]
call fcn.004a38fc
mov edx, 0x4b2294
mov eax, dword [ebp - 4]
call fcn.004ae4dc
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x14]
call fcn.00408c08
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x14]
call fcn.00404740
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0xa
call fcn.004a7000
mov dl, 1
mov eax, dword [0x4175d0]
call fcn.004038a4
mov dword [ebp - 0x24], eax
mov dl, 1
mov eax, dword [0x4175d0]
call fcn.004038a4
mov dword [ebp - 0x28], eax
mov dl, 1
mov eax, dword [0x4175d0]
call fcn.004038a4
mov dword [ebp - 0x2c], eax
mov dl, 1
mov eax, dword [0x4175d0]
call fcn.004038a4
mov dword [ebp - 0x30], eax
mov dl, 1
mov eax, dword [0x4175d0]
call fcn.004038a4
mov dword [ebp - 0x34], eax
mov dl, 1
mov eax, dword [0x4175d0]
call fcn.004038a4
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x4175d0]
call fcn.004038a4
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x1c]
mov edx, 0x4b22b0
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov eax, 0x4b91a0
mov edx, dword [ebp - 0x1c]
call fcn.004046fc
mov eax, dword [ebp - 0x1c]
call fcn.00409540
test al, al
je 0x4b1159
push 0x4b22c8
push dword [ebp - 0x1c]
push 0x4b22dc
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00404a28
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.004ae170
cmp byte [0x4b91a8], 0
je 0x4b116f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 0x1c]
call fcn.00409564
test al, al
jne 0x4b119d
push 0x4b2300
push dword [ebp - 0x1c]
push 0x4b2314
lea eax, [ebp - 0x5c]
mov edx, 3
call fcn.00404a28
mov eax, dword [ebp - 0x5c]
call fcn.004adfac
xor eax, eax
push ebp
push 0x4b1282
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4b2324
lea eax, [ebp - 0x64]
call fcn.004b0774
push dword [ebp - 0x64]
push 0x4b2340
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.00404a28
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x80000002
call fcn.0048dd40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x4b234c
call fcn.0048dd58
push 0x4b2388
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x4b239c
call fcn.0048dedc
push dword [ebp - 0x6c]
push 0x4b2340
lea eax, [ebp - 0x68]
mov edx, 3
call fcn.00404a28
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
push 0x4b23a8
lea edx, [ebp - 0x78]
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045e51c
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x74]
call fcn.004b0b14
push dword [ebp - 0x74]
push 0x4b2340
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.00404a28
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b12bf
cmp byte [0x4b91a8], 0
je 0x4b12d5
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
lea ecx, [ebp - 0x20]
mov edx, 0x4b23e8
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea ecx, [ebp - 0x80]
mov edx, 0x4b2408
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x84]
mov edx, 0x4b2420
call fcn.004049b4
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x8c]
push eax
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x90]
mov ecx, 0x4b243c
mov edx, 0x4b2448
call fcn.0040e2f8
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x94]
push eax
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x98]
mov ecx, 0x4b243c
mov edx, 0x4b2454
call fcn.0040e2f8
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x9c]
push eax
lea edx, [ebp - 0xa0]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x20]
mov edx, 0x4b2460
call fcn.0040e2f8
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
call fcn.00408c08
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.004afddc
test al, al
jne 0x4b143b
mov edx, 0x4b2480
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045dd60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x14
call fcn.004a7000
cmp byte [0x4b91a8], 0
je 0x4b1470
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea ecx, [ebp - 0xac]
mov edx, 0x4b2498
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0xb4]
lea eax, [ebp - 0xb0]
mov edx, 0x4b24ac
call fcn.004049b4
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0xbc]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xbc]
mov ecx, 0x4b243c
mov edx, 0x4b2448
call fcn.0040e2f8
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0xc0]
push eax
lea edx, [ebp - 0xc4]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xc4]
mov ecx, 0x4b243c
mov edx, 0x4b2454
call fcn.0040e2f8
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.004b0cac
test al, al
jne 0x4b1560
mov eax, 0x4b24cc
call fcn.004adfac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x1e
call fcn.004a7000
cmp byte [0x4b91a8], 0
je 0x4b1589
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea ecx, [ebp - 0xc8]
mov edx, 0x4b24e4
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0xd0]
lea eax, [ebp - 0xcc]
mov edx, 0x4b24fc
call fcn.004049b4
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0xd4]
push eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xd8]
mov ecx, 0x4b243c
mov edx, 0x4b2448
call fcn.0040e2f8
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0xdc]
push eax
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xe0]
mov ecx, 0x4b243c
mov edx, 0x4b2454
call fcn.0040e2f8
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0xe8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xe4]
call fcn.00408c08
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 8]
call fcn.00404968
cmp eax, 1
jl 0x4b16ae
mov edx, dword [ebp - 8]
cmp byte [edx + eax - 1], 0x2f
jne 0x4b16a9
mov dword [ebp - 0x40], eax
jmp 0x4b16ae
dec eax
test eax, eax
jne 0x4b169a
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045dd60
push 0x1f4
call sub.kernel32.dll_Sleep_1
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045dd60
cmp byte [0x4b91a8], 0
je 0x4b16e6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
lea edx, [ebp - 0xec]
mov eax, dword [ebp - 0x20]
call fcn.00408c08
mov edx, dword [ebp - 0xec]
lea eax, [ebp - 0x20]
call fcn.00404740
lea eax, [ebp - 0xf0]
mov ecx, dword [ebp - 0x20]
mov edx, 0x4b2514
call fcn.004049b4
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
cmp dword [ebp - 0x20], 0
jne 0x4b1733
mov eax, 0x4b252c
call fcn.004adfac
mov eax, dword [ebp - 0x20]
call fcn.00409540
test al, al
je 0x4b1775
push 0x4b2548
push dword [ebp - 0x20]
push 0x4b22dc
lea eax, [ebp - 0xf4]
mov edx, 3
call fcn.00404a28
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.004ae170
cmp byte [0x4b91a8], 0
je 0x4b178b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 8]
call fcn.00404740
mov eax, dword [ebp - 0x18]
call fcn.00404968
mov ecx, eax
sub ecx, dword [ebp - 0x40]
inc ecx
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x40]
call fcn.00404c08
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.004ae834
test al, al
jne 0x4b17d3
mov eax, 0x4b255c
call fcn.004adfac
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045dd60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x28
call fcn.004a7000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
mov eax, dword [eax + 0x208]
xor edx, edx
call fcn.00432b00
mov edx, 0x4b2574
call fcn.00432a5c
cmp byte [0x4b91a8], 0
je 0x4b1828
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea ecx, [ebp - 0x44]
mov edx, 0x4b2588
mov eax, dword [ebp - 0x14]
call fcn.004ae784
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x44]
call fcn.00408c08
mov edx, dword [ebp - 0xf8]
lea eax, [ebp - 0x44]
call fcn.00404740
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0xfc]
push eax
mov edx, 0x4b2460
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
call fcn.0040e2f8
mov edx, dword [ebp - 0xfc]
lea eax, [ebp - 0x44]
call fcn.00404740
lea eax, [ebp - 0x100]
mov ecx, dword [ebp - 0x44]
mov edx, 0x4b259c
call fcn.004049b4
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
lea edx, [ebp - 0x104]
mov eax, dword [ebp - 0x44]
call fcn.00408c08
cmp dword [ebp - 0x104], 0
je 0x4b1936
mov edx, dword [ebp - 0x44]
mov eax, 0x4b25b8
call fcn.00404cac
mov ebx, eax
test ebx, ebx
jg 0x4b18ec
lea eax, [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.00404740
mov edx, 0x4b25c4
mov eax, dword [ebp - 4]
call fcn.004ae4dc
jmp 0x4b191a
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x44]
call fcn.00404bc8
lea eax, [ebp - 0x44]
mov ecx, ebx
mov edx, 1
call fcn.00404c08
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x44]
call fcn.00408c08
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.004af314
test al, al
jne 0x4b1936
mov eax, 0x4b25f4
call fcn.004adfac
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045dd60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x46
call fcn.004a7000
cmp byte [0x4b91a8], 0
je 0x4b196b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea ecx, [ebp - 0x108]
mov edx, 0x4b260c
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x110]
lea edx, [ebp - 0x10c]
call fcn.00408c08
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x118]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x118]
lea eax, [ebp - 0x114]
mov edx, 0x4b2624
call fcn.004049b4
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x11c]
push eax
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x120]
mov edx, 0x4b2460
mov ecx, dword [ebp - 0x20]
call fcn.0040e2f8
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0x124]
mov edx, 0x4b263c
call fcn.004049b4
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x12c]
push eax
lea edx, [ebp - 0x130]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x130]
mov ecx, 0x4b243c
mov edx, 0x4b2448
call fcn.0040e2f8
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x134]
push eax
lea edx, [ebp - 0x138]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x138]
mov ecx, 0x4b243c
mov edx, 0x4b2454
call fcn.0040e2f8
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.004aedf4
test al, al
jne 0x4b1af6
mov eax, 0x4b265c
call fcn.004adfac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x50
call fcn.004a7000
cmp byte [0x4b91a8], 0
je 0x4b1b1f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea ecx, [ebp - 0x13c]
mov edx, 0x4b2674
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x144]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x144]
lea eax, [ebp - 0x140]
mov edx, 0x4b2694
call fcn.004049b4
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x148]
push eax
lea edx, [ebp - 0x14c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x14c]
mov ecx, 0x4b243c
mov edx, 0x4b2448
call fcn.0040e2f8
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x150]
push eax
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x154]
mov ecx, 0x4b243c
mov edx, 0x4b2454
call fcn.0040e2f8
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x15c]
lea edx, [ebp - 0x158]
call fcn.00408c08
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call fcn.004b017c
test al, al
jne 0x4b1c3f
mov edx, 0x4b26b4
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x55
call fcn.004a7000
cmp byte [0x4b91a8], 0
je 0x4b1c68
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea ecx, [ebp - 0x160]
mov edx, 0x4b26d4
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x168]
lea eax, [ebp - 0x164]
mov edx, 0x4b26ec
call fcn.004049b4
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x170]
mov ecx, 0x4b243c
mov edx, 0x4b2448
call fcn.0040e2f8
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x174]
push eax
lea edx, [ebp - 0x178]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x178]
mov ecx, 0x4b243c
mov edx, 0x4b2454
call fcn.0040e2f8
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call fcn.00408c08
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.004b0024
test al, al
jne 0x4b1d88
mov edx, 0x4b2704
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045dd60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x5a
call fcn.004a7000
cmp byte [0x4b91a8], 0
je 0x4b1dbd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
mov eax, dword [ebp - 4]
call fcn.004ae5bc
lea edx, [ebp - 0x188]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x188]
lea eax, [ebp - 0x184]
mov edx, 0x4b271c
call fcn.004049b4
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
lea ecx, [ebp - 0x18c]
mov edx, 0x4b273c
mov eax, dword [ebp - 0x14]
call fcn.004ae784
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x190]
push eax
lea edx, [ebp - 0x194]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x194]
mov ecx, 0x4b243c
mov edx, 0x4b2448
call fcn.0040e2f8
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov al, byte [0x4b2430]
push eax
lea eax, [ebp - 0x198]
push eax
lea edx, [ebp - 0x19c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x19c]
mov ecx, 0x4b243c
mov edx, 0x4b2454
call fcn.0040e2f8
mov edx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x1a4]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x1a4]
lea edx, [ebp - 0x1a0]
call fcn.00408c08
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.004b046c
test al, al
jne 0x4b1edd
mov edx, 0x4b275c
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov eax, dword [ebp - 0x24]
call fcn.004038d4
mov eax, dword [ebp - 0x28]
call fcn.004038d4
mov eax, dword [ebp - 0x2c]
call fcn.004038d4
mov eax, dword [ebp - 0x30]
call fcn.004038d4
mov eax, dword [ebp - 0x34]
call fcn.004038d4
mov eax, dword [ebp - 0x38]
call fcn.004038d4
mov eax, dword [ebp - 0x3c]
call fcn.004038d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x5f
call fcn.004a7000
cmp byte [0x4b91a8], 0
je 0x4b1f3e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
xor eax, eax
push ebp
push 0x4b201c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x80000002
call fcn.0048dd40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x4b277c
call fcn.0048dd58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x4b27ac
call fcn.0048df14
mov ebx, eax
push 0x4b27c8
lea edx, [ebp - 0x1ac]
mov eax, ebx
call fcn.00409028
push dword [ebp - 0x1ac]
push 0x4b2340
lea eax, [ebp - 0x1a8]
mov edx, 3
call fcn.00404a28
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
cmp ebx, 1
je 0x4b1fca
inc ebx
jne 0x4b2012
mov edx, 0x4b27f0
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x80000002
call fcn.0048dd40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov edx, 0x4b277c
call fcn.0048dd58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
xor ecx, ecx
mov edx, 0x4b27ac
call fcn.0048df38
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b2078
cmp byte [0x4b91a8], 0
je 0x4b208e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21fc
lea ecx, [ebp - 0x50]
mov edx, 0x4b2814
mov eax, dword [ebp - 0x14]
call fcn.004ae784
push 0x4b282c
push dword [ebp - 0x50]
push 0x4b2340
lea eax, [ebp - 0x1b4]
mov edx, 3
call fcn.00404a28
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 4]
call fcn.004ae4dc
lea edx, [ebp - 0x1b8]
mov eax, dword [ebp - 0x50]
call fcn.00408c08
mov eax, dword [ebp - 0x1b8]
mov edx, 0x4b2854
call fcn.00404ab4
jne 0x4b2121
push 0x24
push 0x4b2858
push 0x4b2860
mov eax, dword [ebp - 4]
call fcn.00444d04
push eax
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x4b2121
mov edx, 0x4b2880
mov eax, dword [ebp - 4]
call fcn.004ae4dc
push 0
push 0x4b2894
call sub.kernel32.dll_WinExec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
mov eax, dword [eax + 0x208]
xor edx, edx
call fcn.00432b00
mov edx, 0x4b28a8
call fcn.00432a5c
mov edx, 0x4b28a8
mov eax, dword [ebp - 4]
call fcn.004ae4dc
mov byte [ebp - 9], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, 0x64
call fcn.004a7000
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b21e9
mov eax, dword [0x4b626c]
mov eax, dword [eax]
call fcn.0045dd60
mov byte [0x4b919e], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b2243
lea eax, [ebp - 0x1c0]
mov edx, 0x5c
call fcn.004046cc
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.004046cc
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.004046cc
lea eax, [ebp - 0x50]
call fcn.004046a8
ret