Function at 0x40b660
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x514d54
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x56f790]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], 0
mov edx, dword [ebp + 8]
test edx, edx
jne 0x40b69c
xor ecx, ecx
jmp 0x40b6b0
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b6a1
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 4]
call fcn.00407f80
mov ecx, ebx
call fcn.0040d230
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c922
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x56edf4
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0
call fcn.00408690
test al, al
jne 0x40b71d
mov ecx, 0x56edf4
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b700
sub ecx, edx
sar ecx, 1
push ecx
push 0x56edf4
lea ecx, [ebp - 0x18]
call fcn.00407f80
mov eax, 1
mov dword [ebp - 4], 1
mov dword [ebp + 8], eax
mov ecx, ebx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040b540
test eax, eax
jne 0x40b7be
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c92c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push str._VERYSILENT
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 2
call fcn.00408690
test al, al
jne 0x40b79d
mov ecx, str._VERYSILENT
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b780
sub ecx, edx
sar ecx, 1
push ecx
push str._VERYSILENT
lea ecx, [ebp - 0x14]
call fcn.00407f80
mov eax, 3
mov dword [ebp - 4], 3
mov dword [ebp + 8], eax
mov ecx, ebx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040b540
test eax, eax
je 0x40b7c3
mov eax, 1
mov ecx, dword [ebp + 8]
or esi, 0xffffffff
mov dword [ebx + 0xc], eax
mov dword [ebp - 4], 1
test cl, 2
je 0x40b7fe
mov edx, dword [ebp - 0x14]
and ecx, 0xfffffffd
mov dword [ebp + 8], ecx
add edx, 0xfffffff0
mov dword [ebp - 0x10], ecx
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b7fe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov edi, ecx
and ecx, 0xfffffffe
mov dword [ebp - 4], 0xffffffff
mov dword [ebp + 8], ecx
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b827
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, ebx
call fcn.0040cf10
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c936
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0xd2
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 4
call fcn.00408690
test al, al
jne 0x40b88d
mov ecx, 0xd2
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b870
sub ecx, edx
sar ecx, 1
push ecx
push 0xd2
lea ecx, [ebp - 0x18]
call fcn.00407f80
mov esi, dword [ebp - 0x18]
push 0x52c320
push esi
call fcn.004ce4af
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
add esp, 8
lea edx, [esi - 0x10]
test eax, eax
sete cl
or esi, 0xffffffff
mov dword [ebx + 0x48], ecx
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b8c9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c940
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str._NOSTART
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 6
call fcn.00408690
test al, al
jne 0x40b920
mov ecx, str._NOSTART
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b903
sub ecx, edx
sar ecx, 1
push ecx
push str._NOSTART
lea ecx, [ebp - 0x18]
call fcn.00407f80
mov eax, dword [ebp + 8]
mov ecx, ebx
or eax, 4
mov dword [ebp - 4], 7
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040b540
test eax, eax
je 0x40b94c
cmp dword [ebx + 0x48], 0
jne 0x40b94c
mov eax, 1
jmp 0x40b94e
xor eax, eax
mov edx, dword [ebp - 0x18]
and edi, 0xfffffffa
mov dword [ebx + 0x2c], eax
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b97b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c94a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push 0xd1
lea ecx, [ebp + 8]
mov dword [ebp - 4], 8
call fcn.00408690
test al, al
jne 0x40b9d2
mov ecx, 0xd1
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b9b5
sub ecx, edx
sar ecx, 1
push ecx
push 0xd1
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov dword [ebp - 4], 9
push eax
lea ecx, [ebx + 0x24]
call fcn.00408360
mov edx, dword [ebp + 8]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ba06
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c954
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push 0xd3
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0xa
call fcn.00408690
test al, al
jne 0x40ba5d
mov ecx, 0xd3
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ba40
sub ecx, edx
sar ecx, 1
push ecx
push 0xd3
lea ecx, [ebp + 8]
call fcn.00407f80
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0xb
push ecx
lea ecx, [ebx + 0x40]
call fcn.00408360
mov edx, dword [ebp + 8]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ba91
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c95e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._DIR
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0xc
call fcn.00408690
test al, al
jne 0x40baed
mov ecx, str._DIR
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bad0
sub ecx, edx
sar ecx, 1
push ecx
push str._DIR
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebx + 8]
mov dword [ebp - 4], 0xd
push eax
lea eax, [ebp + 8]
mov ecx, ebx
push eax
call fcn.0040b2f0
mov edx, dword [ebp + 8]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bb24
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c968
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xe
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c972
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._INST_HWND
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xf
call fcn.00408690
test al, al
jne 0x40bb9d
mov ecx, str._INST_HWND
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bb80
sub ecx, edx
sar ecx, 1
push ecx
push str._INST_HWND
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp + 8]
mov ecx, ebx
push eax
call fcn.0040b2f0
mov edx, dword [ebp + 8]
mov eax, esi
mov byte [ebp - 4], 0xe
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bbce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x18]
push edi
call fcn.004cff92
add esp, 4
mov dword [ebx + 0x44], eax
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c97c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._RUN
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x11
call fcn.00408690
test al, al
jne 0x40bc31
mov ecx, str._RUN
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bc14
sub ecx, edx
sar ecx, 1
push ecx
push str._RUN
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x12
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x30], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bc61
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c986
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._FILELIST
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x13
call fcn.00408690
test al, al
jne 0x40bcbd
mov ecx, str._FILELIST
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bca0
sub ecx, edx
sar ecx, 1
push ecx
push str._FILELIST
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x14
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x28], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bced
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c990
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOPROMOTION
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x15
call fcn.00408690
test al, al
jne 0x40bd41
mov ecx, str._NOPROMOTION
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bd24
sub ecx, edx
sar ecx, 1
push ecx
push str._NOPROMOTION
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x16
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x38], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bd71
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x52c328
push dword [ebx + 0x40]
call fcn.004ce4af
add esp, 8
test eax, eax
jne 0x40bd8c
mov dword [ebx + 0x38], 1
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c99a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOFLOAT
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x17
call fcn.00408690
test al, al
jne 0x40bde0
mov ecx, str._NOFLOAT
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bdc3
sub ecx, edx
sar ecx, 1
push ecx
push str._NOFLOAT
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x18
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x34], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40be10
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9a4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._REPAIR
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call fcn.00408690
test al, al
jne 0x40be64
mov ecx, str._REPAIR
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40be47
sub ecx, edx
sar ecx, 1
push ecx
push str._REPAIR
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x1a
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x3c], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40be94
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9ae
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOSTARTMENU
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1b
call fcn.00408690
test al, al
jne 0x40beed
mov ecx, str._NOSTARTMENU
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bed0
sub ecx, edx
sar ecx, 1
push ecx
push str._NOSTARTMENU
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x1c
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x4c], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bf1d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9b8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._UNINSTALL
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1d
call fcn.00408690
test al, al
jne 0x40bf71
mov ecx, str._UNINSTALL
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bf54
sub ecx, edx
sar ecx, 1
push ecx
push str._UNINSTALL
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x1e
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x50], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bfa1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9c2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._DELETEEMBEDBOX
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1f
call fcn.00408690
test al, al
jne 0x40bffd
mov ecx, str._DELETEEMBEDBOX
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bfe0
sub ecx, edx
sar ecx, 1
push ecx
push str._DELETEEMBEDBOX
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x20
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x5c], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c02d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9cc
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._BANAUTORUN
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x21
call fcn.00408690
test al, al
jne 0x40c081
mov ecx, str._BANAUTORUN
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c064
sub ecx, edx
sar ecx, 1
push ecx
push str._BANAUTORUN
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x22
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x54], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c0b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9d6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._BANUNINSTREG
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x23
call fcn.00408690
test al, al
jne 0x40c10d
mov ecx, str._BANUNINSTREG
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c0f0
sub ecx, edx
sar ecx, 1
push ecx
push str._BANUNINSTREG
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x24
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x58], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c13d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9e0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOSHORTCUT
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x25
call fcn.00408690
test al, al
jne 0x40c191
mov ecx, str._NOSHORTCUT
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c174
sub ecx, edx
sar ecx, 1
push ecx
push str._NOSHORTCUT
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x26
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x60], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c1c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9ea
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._GAMECENTER
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x27
call fcn.00408690
test al, al
jne 0x40c21d
mov ecx, str._GAMECENTER
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c200
sub ecx, edx
sar ecx, 1
push ecx
push str._GAMECENTER
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x28
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x64], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c24d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9f4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._STCMD
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x29
call fcn.00408690
test al, al
jne 0x40c2a1
mov ecx, str._STCMD
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c284
sub ecx, edx
sar ecx, 1
push ecx
push str._STCMD
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x2a
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov ecx, esi
mov dword [ebp - 0x14], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x40c2d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x40c361
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40c9fe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._STCMD
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x2b
call fcn.00408690
test al, al
jne 0x40c330
mov ecx, str._STCMD
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c313
sub ecx, edx
sar ecx, 1
push ecx
push str._STCMD
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebx + 0x68]
mov byte [ebp - 4], 0x2c
push eax
lea eax, [ebp + 8]
mov ecx, ebx
push eax
call fcn.0040b2f0
mov edx, dword [ebp + 8]
mov eax, esi
mov byte [ebp - 4], 0xe
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c361
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca08
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOUNINSTALL
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x2d
call fcn.00408690
test al, al
jne 0x40c3bd
mov ecx, str._NOUNINSTALL
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c3a0
sub ecx, edx
sar ecx, 1
push ecx
push str._NOUNINSTALL
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x2e
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x6c], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c3ed
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca12
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOCHECKMUTEX
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x2f
call fcn.00408690
test al, al
jne 0x40c441
mov ecx, str._NOCHECKMUTEX
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c424
sub ecx, edx
sar ecx, 1
push ecx
push str._NOCHECKMUTEX
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x30
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x74], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c471
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOQUICKLAUNCH
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x31
call fcn.00408690
test al, al
jne 0x40c4cd
mov ecx, str._NOQUICKLAUNCH
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c4b0
sub ecx, edx
sar ecx, 1
push ecx
push str._NOQUICKLAUNCH
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x32
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
neg eax
mov byte [ebp - 4], 0xe
sbb eax, eax
add edx, 0xfffffff0
inc eax
mov dword [ebx + 0x78], eax
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c502
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca26
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._NOSETAUTORUN
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x33
call fcn.00408690
test al, al
jne 0x40c55d
mov ecx, str._NOSETAUTORUN
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c540
sub ecx, edx
sar ecx, 1
push ecx
push str._NOSETAUTORUN
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x34
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
neg eax
mov byte [ebp - 4], 0xe
sbb eax, eax
add edx, 0xfffffff0
inc eax
mov dword [ebx + 0x7c], eax
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c592
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca30
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push 0x52c32c
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x35
call fcn.00408690
test al, al
jne 0x40c5d0
push 0xe
push 0x52c32c
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x36
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x80], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c603
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca3a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._FORCE_SHOW
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x37
call fcn.00408690
test al, al
jne 0x40c641
push 0xb
push str._FORCE_SHOW
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x38
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x84], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c674
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca44
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._FORCE_BUBBLE
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x39
call fcn.00408690
test al, al
jne 0x40c6b2
push 0xd
push str._FORCE_BUBBLE
lea ecx, [ebp + 8]
call fcn.00407f80
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x3a
push eax
mov ecx, ebx
call fcn.0040b540
mov edx, dword [ebp + 8]
mov dword [ebx + 0x8c], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c6e5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca4e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push str._FROM
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x3b
call fcn.00408690
test al, al
jne 0x40c73d
mov ecx, str._FROM
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c720
sub ecx, edx
sar ecx, 1
push ecx
push str._FROM
lea ecx, [ebp + 8]
call fcn.00407f80
mov byte [ebp - 4], 0x3d
call fcn.00408a30
mov ecx, eax
test ecx, ecx
je 0x40ca58
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
or eax, 8
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0040b2f0
mov esi, dword [ebp - 0x14]
push str.BUYTRY
push esi
call fcn.004ce4af
xor ecx, ecx
mov byte [ebp - 4], 0x3c
add esp, 8
lea edx, [esi - 0x10]
test eax, eax
sete cl
or esi, 0xffffffff
mov dword [ebx + 0x70], ecx
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c7ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, esi
mov byte [ebp - 4], 0xe
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c7ca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebx + 0x70], 0
je 0x40c7ec
mov dword [ebx + 0xc], 1
mov dword [ebx + 0x4c], 1
mov dword [ebx + 0x54], 1
mov dword [ebx + 0x58], 1
mov edx, dword [ebx + 0x18]
mov ecx, str.ludashiembed
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x40c81c
test si, si
je 0x40c818
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x40c81c
add eax, 4
add ecx, 4
test si, si
jne 0x40c7f6
xor eax, eax
jmp 0x40c821
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c897
mov ecx, str.bizhiembed
mov eax, edx
nop dword [eax]
mov si, word [eax]
cmp si, word [ecx]
jne 0x40c856
test si, si
je 0x40c852
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x40c856
add eax, 4
add ecx, 4
test si, si
jne 0x40c830
xor eax, eax
jmp 0x40c85b
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c897
mov eax, str.monidashiembed
mov cx, word [edx]
cmp cx, word [eax]
jne 0x40c88a
test cx, cx
je 0x40c886
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x40c88a
add edx, 4
add eax, 4
test cx, cx
jne 0x40c864
xor eax, eax
jmp 0x40c88f
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c897
xor eax, eax
jmp 0x40c89c
mov eax, 1
mov dword [ebx + 0x90], eax
test eax, eax
je 0x40c8da
lea eax, [ebx + 0x18]
push eax
lea ecx, [ebx + 0x10]
call fcn.00408360
lea eax, [ebx + 0x1c]
push eax
lea ecx, [ebx + 0x14]
call fcn.00408360
mov dword [ebx + 0x4c], 1
mov dword [ebx + 0x58], 1
mov dword [ebx + 0xc], 1
mov dword [ebx + 0x7c], 0
cmp dword [ebx + 0x84], 0
je 0x40c8ea
mov dword [ebx + 0xc], 0
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40c909
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
int3