Function at 0x4b8eec
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x17
push 0
push 0
dec ecx
jne 0x4b8ef4
push ebx
push esi
push edi
mov esi, dword [0x4d8d30]
xor eax, eax
push ebp
push 0x4b9e3d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4b9e58
call fcn.004c28a8
mov eax, dword [0x4d8eb4]
mov eax, dword [eax]
call fcn.0046d914
lea eax, [ebp - 0x18]
call fcn.004abe88
push dword [ebp - 0x18]
push 0x4b9e74
lea eax, [ebp - 0x20]
call fcn.004bf89c
push dword [ebp - 0x20]
push 0x4b9e94
lea eax, [ebp - 0x24]
call fcn.004b3928
push dword [ebp - 0x24]
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.00405cfc
push dword [ebp - 0x18]
push 0x4b9e9c
lea eax, [ebp - 0x28]
call fcn.004c4da8
push dword [ebp - 0x28]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00405cfc
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x18]
mov edx, 0x4b9ec4
call fcn.00405c8c
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.00405434
mov eax, dword [ebp - 0x2c]
call fcn.004c28a8
push 1
push 0
mov ecx, dword [ebp - 0x18]
mov dl, 1
mov eax, dword [0x4bc400]
call fcn.004bc538
mov eax, dword [0x4d8c38]
cmp byte [eax], 0
jne 0x4b900e
mov eax, dword [0x4d8c94]
cmp byte [eax], 0
jne 0x4b900e
mov eax, dword [esi]
mov eax, dword [eax + 0x3c8]
cmp byte [eax + 0x57], 0
je 0x4b8fec
mov eax, dword [esi]
mov eax, dword [eax + 0x3cc]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b9012
mov eax, dword [esi]
mov eax, dword [eax + 0x3c0]
cmp byte [eax + 0x57], 0
je 0x4b900e
mov eax, dword [esi]
mov eax, dword [eax + 0x3c4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b9012
xor eax, eax
jmp 0x4b9014
mov al, 1
mov edx, dword [0x4d8fcc]
mov byte [edx], al
mov eax, dword [0x4d8fcc]
cmp byte [eax], 0
je 0x4b902e
mov eax, dword [0x4d8ac4]
mov byte [eax], 1
xor edx, edx
push ebp
push 0x4b9cff
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, 0x4b9f0c
call fcn.004c28a8
lea eax, [ebp - 0x1c]
push eax
push 2
mov eax, dword [0x4d909c]
mov eax, dword [eax]
call eax
mov eax, 0x4b9f38
call fcn.004c28a8
mov eax, 0x7fff
mov edx, dword [0x4d8c30]
cmp dword [edx], 5
jl 0x4b9079
or eax, 0x2000000
push 0x4b9f50
push eax
push 0x4b5848
mov eax, dword [0x4d8da4]
mov eax, dword [eax]
call eax
call fcn.004b8424
test eax, eax
je 0x4b90a3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9d35
call fcn.004b46dc
test al, al
jne 0x4b90e1
mov eax, 0x4b9f70
call fcn.004c28a8
mov eax, dword [0x4d8d44]
mov byte [eax], 2
cmp dword [esi], 0
je 0x4b90d4
mov eax, dword [0x4d9020]
cmp byte [eax], 0
jne 0x4b90d4
mov eax, dword [esi]
call fcn.004ce9fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9d35
call fcn.004b4d1c
test al, al
jne 0x4b911f
mov eax, 0x4b9f9c
call fcn.004c28a8
mov eax, dword [0x4d8d44]
mov byte [eax], 2
cmp dword [esi], 0
je 0x4b9112
mov eax, dword [0x4d9020]
cmp byte [eax], 0
jne 0x4b9112
mov eax, dword [esi]
call fcn.004ce9fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9d35
mov eax, 0x4b9fc4
call fcn.004c28a8
mov eax, dword [0x4d9020]
cmp byte [eax], 0
je 0x4b9168
call fcn.004ba7f0
mov eax, dword [0x4d8d44]
mov byte [eax], 4
cmp dword [esi], 0
je 0x4b915b
push 0
push 0
push 0xd30
mov eax, dword [esi]
call fcn.004564b8
push eax
call sub.user32.dll_PostMessageA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9d35
mov ecx, dword [0x4d8e40]
mov ecx, dword [ecx]
lea eax, [ebp - 0x38]
mov edx, 0x4ba008
call fcn.00405c8c
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
call fcn.00405434
mov edx, dword [ebp - 0x34]
mov ecx, 0x80000002
mov eax, 0x4ba078
call fcn.004ab57c
test al, al
je 0x4b91b5
mov eax, dword [0x4d8c14]
mov edx, dword [0x4d8e40]
mov edx, dword [edx]
call fcn.00405a64
jmp 0x4b9294
mov ecx, dword [0x4d8a08]
mov ecx, dword [ecx]
lea eax, [ebp - 0x40]
mov edx, 0x4ba008
call fcn.00405c8c
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
call fcn.00405434
mov edx, dword [ebp - 0x3c]
mov ecx, 0x80000002
mov eax, 0x4ba078
call fcn.004ab57c
test al, al
je 0x4b9202
mov eax, dword [0x4d8c14]
mov edx, dword [0x4d8a08]
mov edx, dword [edx]
call fcn.00405a64
jmp 0x4b9294
mov ecx, dword [0x4d8fc4]
mov ecx, dword [ecx]
lea eax, [ebp - 0x48]
mov edx, 0x4ba008
call fcn.00405c8c
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
call fcn.00405434
mov edx, dword [ebp - 0x44]
mov ecx, 0x80000002
mov eax, 0x4ba078
call fcn.004ab57c
test al, al
je 0x4b924c
mov eax, dword [0x4d8c14]
mov edx, dword [0x4d8fc4]
mov edx, dword [edx]
call fcn.00405a64
jmp 0x4b9294
mov ecx, dword [0x4d8f84]
mov ecx, dword [ecx]
lea eax, [ebp - 0x50]
mov edx, 0x4ba008
call fcn.00405c8c
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
call fcn.00405434
mov edx, dword [ebp - 0x4c]
mov ecx, 0x80000002
mov eax, 0x4ba078
call fcn.004ab57c
test al, al
je 0x4b9294
mov eax, dword [0x4d8c14]
mov edx, dword [0x4d8f84]
mov edx, dword [edx]
call fcn.00405a64
mov ecx, dword [0x4d8c14]
mov ecx, dword [ecx]
lea eax, [ebp - 0x58]
mov edx, 0x4ba098
call fcn.00405c8c
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x54]
call fcn.00405434
mov eax, dword [ebp - 0x54]
call fcn.004c28a8
push 0x4ba0cc
mov eax, dword [0x4d8e34]
push dword [eax]
push 0x4ba0ec
lea eax, [ebp - 4]
mov edx, 3
call fcn.00405cfc
mov eax, dword [0x4d8ac4]
cmp byte [eax], 0
jne 0x4b9306
mov eax, dword [esi]
mov eax, dword [eax + 0x3e0]
cmp byte [eax + 0x57], 0
je 0x4b9306
mov eax, dword [esi]
mov eax, dword [eax + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b9310
mov eax, dword [0x4d8e08]
cmp byte [eax], 0
je 0x4b931d
lea eax, [ebp - 4]
mov edx, 0x4ba0f4
call fcn.00405c2c
mov eax, dword [0x4d8b7c]
cmp byte [eax], 0
je 0x4b934a
mov eax, dword [0x4d8c14]
mov eax, dword [eax]
mov edx, dword [0x4d8e40]
mov edx, dword [edx]
call fcn.00405d44
jne 0x4b934a
lea eax, [ebp - 4]
mov edx, 0x4ba11c
call fcn.00405c2c
call fcn.004c3954
test al, al
jne 0x4b939e
call fcn.004c3960
test al, al
jne 0x4b939e
push dword [ebp - 4]
push 0x4ba148
mov eax, dword [0x4d8e34]
push dword [eax]
push 0x4ba1bc
lea eax, [ebp - 4]
mov edx, 4
call fcn.00405cfc
push dword [ebp - 4]
push 0x4ba1d4
mov eax, dword [0x4d8e34]
push dword [eax]
push 0x4ba204
lea eax, [ebp - 4]
mov edx, 4
call fcn.00405cfc
lea eax, [ebp - 0xc]
call fcn.00405a28
lea eax, [ebp - 0x10]
call fcn.00405a28
lea eax, [ebp - 0x14]
call fcn.00405a28
mov eax, dword [0x4d8b7c]
cmp byte [eax], 0
je 0x4b94c2
mov eax, dword [0x4d8c14]
mov eax, dword [eax]
mov edx, dword [0x4d8e40]
mov edx, dword [edx]
call fcn.00405d44
jne 0x4b94c2
mov ecx, dword [0x4d8dac]
mov ecx, dword [ecx]
lea eax, [ebp - 0x10]
mov edx, 0x4ba220
call fcn.00405c8c
mov eax, dword [0x4d90fc]
movzx eax, byte [eax]
dec eax
sub al, 2
jae 0x4b942b
mov eax, dword [0x4d8c60]
cmp byte [eax], 0
je 0x4b942b
push dword [ebp - 0x10]
push 0x4b9e94
mov eax, dword [0x4d8e88]
push dword [eax]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00405cfc
jmp 0x4b951f
mov eax, dword [0x4d8ad4]
cmp byte [eax], 0
jne 0x4b951f
mov eax, dword [esi]
mov eax, dword [eax + 0x3d0]
cmp byte [eax + 0x57], 0
je 0x4b951f
mov eax, dword [esi]
mov eax, dword [eax + 0x3d4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b94a1
mov eax, dword [0x4d8c60]
cmp byte [eax], 0
je 0x4b948a
push dword [ebp - 0x10]
push 0x4b9e94
mov eax, dword [0x4d8e88]
push dword [eax]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00405cfc
jmp 0x4b951f
mov ecx, dword [0x4d8e88]
mov ecx, dword [ecx]
lea eax, [ebp - 0xc]
mov edx, 0x4ba23c
call fcn.00405c8c
jmp 0x4b951f
mov eax, dword [0x4d8c60]
cmp byte [eax], 0
je 0x4b951f
mov ecx, dword [0x4d8e88]
mov ecx, dword [ecx]
lea eax, [ebp - 0x14]
mov edx, 0x4ba258
call fcn.00405c8c
jmp 0x4b951f
mov ecx, dword [0x4d8dac]
mov ecx, dword [ecx]
lea eax, [ebp - 0xc]
mov edx, 0x4ba23c
call fcn.00405c8c
mov eax, dword [0x4d8ad4]
cmp byte [eax], 0
jne 0x4b951f
mov eax, dword [esi]
mov eax, dword [eax + 0x3d0]
cmp byte [eax + 0x57], 0
je 0x4b951f
mov eax, dword [esi]
mov eax, dword [eax + 0x3d4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b951f
push dword [ebp - 0xc]
push 0x4b9e94
mov eax, dword [0x4d8e88]
push dword [eax]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00405cfc
push dword [ebp - 4]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
lea eax, [ebp - 4]
mov edx, 4
call fcn.00405cfc
mov eax, dword [0x4d8b7c]
cmp byte [eax], 0
je 0x4b955c
mov eax, dword [0x4d8c14]
mov eax, dword [eax]
mov edx, dword [0x4d8e40]
mov edx, dword [edx]
call fcn.00405d44
je 0x4b9704
lea eax, [ebp - 8]
call fcn.00405a28
mov edi, 0x1d
mov ebx, dword [0x4d8a90]
add ebx, 0xc
lea eax, [ebp - 0x5c]
mov edx, ebx
call fcn.00405410
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x4d8f14]
mov eax, dword [eax]
call fcn.004055d4
jne 0x4b95e3
cmp byte [ebx + 3], 0
jbe 0x4b95e9
mov eax, dword [0x4d8f14]
mov eax, dword [eax]
mov edx, 0x4ba274
call fcn.004055d4
je 0x4b95e9
mov eax, dword [0x4d8f14]
mov eax, dword [eax]
mov edx, 0x4ba280
call fcn.004055d4
je 0x4b95e9
push dword [ebp - 8]
push 0x4ba288
lea eax, [ebp - 0x60]
lea edx, [ebx + 3]
call fcn.00405bc0
push dword [ebp - 0x60]
push 0x4ba294
lea eax, [ebp - 8]
mov edx, 4
call fcn.00405cfc
jmp 0x4b95e9
add ebx, 0x24
dec edi
jne 0x4b9572
mov eax, dword [0x4d9040]
cmp byte [eax], 0
jne 0x4b9607
mov eax, dword [esi]
mov eax, dword [eax + 0x3bc]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b9626
push dword [ebp - 8]
push 0x4ba288
push 0x4ba2a4
push 0x4ba294
lea eax, [ebp - 8]
mov edx, 4
call fcn.00405cfc
mov eax, dword [0x4d8e9c]
cmp byte [eax], 0
je 0x4b964f
push dword [ebp - 8]
push 0x4ba288
push 0x4ba2d4
push 0x4ba294
lea eax, [ebp - 8]
mov edx, 4
call fcn.00405cfc
push dword [ebp - 8]
push 0x4ba288
push 0x4ba300
push 0x4ba294
lea eax, [ebp - 8]
mov edx, 4
call fcn.00405cfc
mov eax, dword [0x4d8f1c]
cmp byte [eax], 0
jne 0x4b96a1
mov eax, dword [0x4d8ac8]
cmp byte [eax], 0
jne 0x4b96a1
push dword [ebp - 8]
push 0x4ba288
push 0x4ba320
push 0x4ba294
lea eax, [ebp - 8]
mov edx, 4
call fcn.00405cfc
lea eax, [ebp - 8]
mov edx, 0x4ba348
call fcn.00405c2c
mov eax, dword [0x4d8af8]
cmp byte [eax], 0
jne 0x4b96c5
lea eax, [ebp - 8]
mov edx, 0x4ba380
call fcn.00405c2c
mov eax, dword [ebp - 8]
xor edx, edx
call fcn.00405d44
jbe 0x4b9704
mov eax, dword [ebp - 8]
cmp word [eax], 0x3b
jne 0x4b96ec
lea eax, [ebp - 8]
mov ecx, 1
mov edx, 1
call fcn.00405e14
push dword [ebp - 4]
push 0x4ba3b4
push dword [ebp - 8]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00405cfc
lea eax, [ebp - 4]
mov edx, 0x4ba3d4
call fcn.00405c2c
mov eax, dword [0x4d8b7c]
cmp byte [eax], 0
je 0x4b9752
mov eax, dword [0x4d8c14]
mov eax, dword [eax]
mov edx, dword [0x4d8e40]
mov edx, dword [edx]
call fcn.00405d44
je 0x4b9752
push dword [ebp - 4]
push 0x4ba474
mov eax, dword [0x4d8c14]
push dword [eax]
push 0x4ba0ec
lea eax, [ebp - 4]
mov edx, 4
call fcn.00405cfc
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.00409fa0
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 4]
call fcn.00405a8c
lea eax, [ebp - 0x6c]
mov ecx, dword [ebp - 4]
mov edx, 0x4ba490
call fcn.00405c8c
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
call fcn.00405434
mov eax, dword [ebp - 0x68]
call fcn.004c28a8
mov eax, dword [ebp - 4]
call fcn.00405c10
push eax
mov eax, dword [0x4d8c18]
mov eax, dword [eax]
call fcn.00405c10
push eax
mov eax, dword [0x4d8de4]
mov eax, dword [eax]
call eax
mov ebx, eax
mov eax, dword [esi]
mov eax, dword [eax + 0x3e0]
cmp byte [eax + 0x57], 0
je 0x4b97ee
push 0x80000001
push 0
mov eax, dword [esi]
mov eax, dword [eax + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xd8]
xor ecx, ecx
mov edx, 1
call fcn.00425d98
mov edx, eax
mov ecx, 0x4ba4c4
mov eax, 0x4ba4e8
call fcn.004ab3c8
mov eax, dword [esi]
mov eax, dword [eax + 0x3dc]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b983b
push 0x80000001
push 0
push 0x4ba0ec
mov eax, dword [0x4d8e34]
push dword [eax]
push 0x4ba4f8
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.00405cfc
mov edx, dword [ebp - 0x70]
mov ecx, 0x4ba550
mov eax, 0x4ba584
call fcn.004ab458
jmp 0x4b9867
mov ecx, 0x80000001
mov edx, 0x4ba550
mov eax, 0x4ba584
call fcn.004ab57c
test al, al
je 0x4b9867
mov ecx, 0x80000001
mov edx, 0x4ba550
mov eax, 0x4ba584
call fcn.004ab4f8
push 0x80000001
lea eax, [ebp - 0x74]
push eax
mov ecx, 0x4ba598
xor edx, edx
mov eax, 0x4ba5b4
call fcn.004ab334
mov eax, dword [ebp - 0x74]
xor edx, edx
call fcn.00405d44
ja 0x4b98b8
xor edx, edx
mov eax, 0x4ba5d0
call fcn.0040a3c4
test eax, eax
jle 0x4b98b8
push 0x80000001
push 0
mov ecx, 0x4ba598
mov edx, 0x4ba5d8
mov eax, 0x4ba5b4
call fcn.004ab458
push 0x80000001
lea eax, [ebp - 0x78]
push eax
mov ecx, 0x4ba5e8
xor edx, edx
mov eax, 0x4ba60c
call fcn.004ab334
mov eax, dword [ebp - 0x78]
xor edx, edx
call fcn.00405d44
ja 0x4b9907
push 0x80000001
push 0
lea eax, [ebp - 0x7c]
mov edx, dword [0x4d8f14]
mov edx, dword [edx]
call fcn.00405c00
mov edx, dword [ebp - 0x7c]
mov ecx, 0x4ba5e8
mov eax, 0x4ba60c
call fcn.004ab458
test ebx, ebx
jne 0x4b9a0f
mov edx, dword [0x4d8e34]
mov edx, dword [edx]
lea eax, [ebp - 0x80]
mov ecx, 0x4ba624
call fcn.00405c8c
mov eax, dword [ebp - 0x80]
call fcn.004767a8
test al, al
jne 0x4b9a0f
lea eax, [ebp - 4]
mov edx, 0x4ba64c
call fcn.00405a8c
push dword [ebp - 4]
push 0x4ba670
mov eax, dword [0x4d8e34]
push dword [eax]
push 0x4ba0ec
lea eax, [ebp - 4]
mov edx, 4
call fcn.00405cfc
mov eax, dword [0x4d8ac4]
cmp byte [eax], 0
jne 0x4b998e
mov eax, dword [esi]
mov eax, dword [eax + 0x3e0]
cmp byte [eax + 0x57], 0
je 0x4b998e
mov eax, dword [esi]
mov eax, dword [eax + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b9998
mov eax, dword [0x4d8e08]
cmp byte [eax], 0
je 0x4b99a5
lea eax, [ebp - 4]
mov edx, 0x4ba0f4
call fcn.00405c2c
lea eax, [ebp - 4]
mov edx, 0x4ba11c
call fcn.00405c2c
lea eax, [ebp - 4]
mov edx, 0x4ba3d4
call fcn.00405c2c
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 4]
mov edx, 0x4ba690
call fcn.00405c8c
mov edx, dword [ebp - 0x88]
lea eax, [ebp - 0x84]
call fcn.00405434
mov eax, dword [ebp - 0x84]
call fcn.004c28a8
mov eax, dword [ebp - 4]
call fcn.00405c10
push eax
mov eax, dword [0x4d8c18]
mov eax, dword [eax]
call fcn.00405c10
push eax
mov eax, dword [0x4d8de4]
mov eax, dword [eax]
call eax
mov ebx, eax
test ebx, ebx
je 0x4b9b51
cmp ebx, 0xbc2
je 0x4b9b51
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x90]
call fcn.0040a338
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x8c]
mov edx, 0x4ba6c8
call fcn.004054c4
mov eax, dword [ebp - 0x8c]
call fcn.004c28a8
mov eax, dword [0x4d8d44]
mov byte [eax], 2
cmp ebx, 0x642
je 0x4b9b29
push 1
push 1
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x98]
mov eax, dword [0x4d8b54]
mov eax, dword [eax]
mov edx, 0x4ba6f4
call fcn.004731f0
mov eax, dword [ebp - 0x98]
push eax
lea edx, [ebp - 0xa4]
mov eax, ebx
call fcn.004b5458
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0xf
lea edx, [ebp - 0xa0]
xor ecx, ecx
pop eax
call fcn.00476378
mov eax, dword [ebp - 0x94]
or ecx, 0xffffffff
xor edx, edx
call fcn.004c0100
lea eax, [ebp - 0xac]
call fcn.004abf18
push dword [ebp - 0xac]
push 0x4ba720
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xb4]
call fcn.0040a338
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0xb0]
call fcn.00405c00
push dword [ebp - 0xb0]
lea eax, [ebp - 0xa8]
mov edx, 3
call fcn.00405cfc
mov eax, dword [ebp - 0xa8]
call fcn.004abaa4
cmp dword [esi], 0
je 0x4b9b44
push 0
push 0
push 0xd30
mov eax, dword [esi]
call fcn.004564b8
push eax
call sub.user32.dll_PostMessageA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9d35
call fcn.004bb4a0
call fcn.004bf47c
call fcn.004b3560
mov eax, dword [esi]
mov eax, dword [eax + 0x3d0]
cmp byte [eax + 0x57], 0
je 0x4b9b8c
mov eax, dword [esi]
mov eax, dword [eax + 0x3d4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b9b8c
mov eax, 0x4ba740
call fcn.004c4658
mov eax, dword [esi]
mov eax, dword [eax + 0x3c8]
cmp byte [eax + 0x57], 0
je 0x4b9bb8
mov eax, dword [esi]
mov eax, dword [eax + 0x3cc]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b9bb8
mov eax, 0x4ba74c
call fcn.004c4658
mov eax, dword [esi]
mov eax, dword [eax + 0x3c0]
cmp byte [eax + 0x57], 0
je 0x4b9be4
mov eax, dword [esi]
mov eax, dword [eax + 0x3c4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b9be4
mov eax, 0x4ba758
call fcn.004c4658
mov eax, dword [0x4d9078]
cmp byte [eax], 0
jne 0x4b9c16
mov eax, dword [0x4d9088]
cmp byte [eax], 0
je 0x4b9c16
mov eax, dword [esi]
mov eax, dword [eax + 0x504]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b9c16
mov eax, 0x4ba764
call fcn.004c4658
mov eax, dword [0x4d8ac8]
cmp byte [eax], 0
je 0x4b9c50
mov eax, dword [0x4d8d44]
mov byte [eax], 4
cmp dword [esi], 0
je 0x4b9c43
push 0
push 0
push 0xd30
mov eax, dword [esi]
call fcn.004564b8
push eax
call sub.user32.dll_PostMessageA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9d35
test ebx, ebx
jne 0x4b9cb7
mov eax, 0x4ba770
call fcn.004c28a8
mov eax, dword [0x4d8d44]
mov byte [eax], 4
mov eax, dword [0x4d8fcc]
cmp byte [eax], 0
je 0x4b9c79
mov eax, dword [esi]
call fcn.004ceacc
jmp 0x4b9cf5
mov eax, dword [esi]
mov eax, dword [eax + 0x3e0]
cmp byte [eax + 0x57], 0
je 0x4b9c9b
mov eax, dword [esi]
mov eax, dword [eax + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b9ca5
mov eax, dword [0x4d8e08]
cmp byte [eax], 0
je 0x4b9cae
mov eax, dword [esi]
call fcn.00469b3c
jmp 0x4b9cf5
mov eax, dword [esi]
call fcn.004ceffc
jmp 0x4b9cf5
cmp ebx, 0xbc2
jne 0x4b9cf5
mov eax, 0x4ba798
call fcn.004c28a8
mov eax, dword [0x4d8d44]
mov byte [eax], 5
mov eax, dword [0x4d8bb4]
cmp byte [eax], 0
jne 0x4b9ce5
mov eax, dword [0x4d8c10]
cmp byte [eax], 0
je 0x4b9cee
mov eax, dword [esi]
call fcn.004ceacc
jmp 0x4b9cf5
mov eax, dword [esi]
call fcn.004cf1b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9d35
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b9e47
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.004051d0
lea eax, [ebp - 0xb0]
mov edx, 4
call fcn.00405a40
lea eax, [ebp - 0x98]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.004051d0
lea eax, [ebp - 0x88]
call fcn.00405a28
lea eax, [ebp - 0x84]
call fcn.004051ac
lea eax, [ebp - 0x80]
mov edx, 6
call fcn.00405a40
lea eax, [ebp - 0x68]
call fcn.004051ac
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 0x5c]
call fcn.004051ac
lea eax, [ebp - 0x58]
call fcn.00405a28
lea eax, [ebp - 0x54]
call fcn.004051ac
lea eax, [ebp - 0x50]
call fcn.00405a28
lea eax, [ebp - 0x4c]
call fcn.004051ac
lea eax, [ebp - 0x48]
call fcn.00405a28
lea eax, [ebp - 0x44]
call fcn.004051ac
lea eax, [ebp - 0x40]
call fcn.00405a28
lea eax, [ebp - 0x3c]
call fcn.004051ac
lea eax, [ebp - 0x38]
call fcn.00405a28
lea eax, [ebp - 0x34]
call fcn.004051ac
lea eax, [ebp - 0x30]
call fcn.00405a28
lea eax, [ebp - 0x2c]
call fcn.004051ac
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00405a40
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00405a40
ret