Function at 0x4cc3b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x6198da
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x108
push ebx
mov ebx, dword [esp + 0x11c]
push ebp
push esi
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
sub eax, edx
push edi
mov dword [esp + 0x3c], ecx
jne 0x4cc3ea
xor al, al
jmp 0x4ce81d
mov esi, dword [ecx + 0xf8]
push 0xa
or esi, 0x20
mov dword [ecx + 0xf8], esi
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xb8], ecx
mov ebp, dword [ecx + 0x88]
mov ecx, ebx
mov dword [esp + 0x50], ebp
call fcn.004fdae0
mov eax, dword [ebp + 0x168]
cmp eax, 1
jl 0x4cc4af
mov edx, dword [ebp + 0x164]
lea ecx, [eax*8]
sub ecx, eax
push ebx
sub esp, 8
lea edi, [edx + ecx*8 - 0x38]
mov eax, esp
mov dword [esp + 0xa8], esp
push eax
lea ecx, [edi + 0x18]
call fcn.0041be70
call fcn.004ce840
add esp, 0xc
test al, al
je 0x4cc4af
lea ecx, [esp + 0x18]
xor esi, esi
push ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push esi
push 0xa
push edx
push eax
call fcn.00510160
push esi
push 0x3e8
push edx
push eax
call fcn.00510160
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
add esi, 0xfa
adc ecx, 0
cmp ecx, edx
jl 0x4cc4af
jg 0x4ce81b
cmp esi, eax
jae 0x4ce81b
push 0
push 0
mov ecx, ebx
call fcn.00404600
push ecx
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
call fcn.005dd21e
push 1
lea ecx, [esp + 0x60]
call fcn.0042e790
mov ecx, ebp
mov dword [esp + 0x120], 0
call fcn.00429f90
mov ecx, ebp
mov dword [esp + 0x9c], eax
call fcn.00429f90
cmp eax, 3
je 0x4cc50e
cmp eax, 0xf
je 0x4cc50e
cmp eax, 4
je 0x4cc50e
cmp eax, 0x12
mov byte [esp + 0x2b], 0
jne 0x4cc513
mov byte [esp + 0x2b], 1
mov ecx, ebp
call fcn.00429f90
mov bl, byte [esp + 0x50]
push 0x68
or bl, 0x20
mov byte [esp + 0x54], bl
call fcn.005dd77b
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x120], 1
je 0x4cc58b
push 0x42e740
push 0x42e700
push 2
lea ecx, [esi + 8]
push 0x24
push ecx
call fcn.005110a9
push fcn.00401b40
push fcn.0041a0a0
push 3
lea edx, [esi + 0x50]
push 4
push edx
mov byte [esp + 0x134], 2
call fcn.005110a9
lea ecx, [esi + 0x5c]
mov byte [esp + 0x120], 3
call fcn.0042d2a0
mov eax, esi
jmp 0x4cc58d
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [eax], 0
mov eax, dword [esp + 0x80]
mov cl, byte [esp + 0x130]
and cl, 1
mov byte [esp + 0x120], 0
mov bl, byte [eax + 5]
and bl, 0xfe
mov byte [eax + 5], bl
mov eax, dword [esp + 0x80]
shl cl, 1
mov dl, byte [eax + 5]
and dl, 0xfd
or cl, dl
mov byte [eax + 5], cl
mov ecx, dword [esp + 0x80]
mov al, byte [esp + 0x12c]
mov byte [ecx + 4], al
lea ecx, [esp + 0x50]
call fcn.0042ef70
push eax
lea ecx, [esp + 0x28]
call fcn.005dd21e
mov eax, dword [esp + 0x24]
mov ecx, 3
mov edi, str.Rcon:__rcon
mov esi, eax
xor edx, edx
mov byte [esp + 0x120], 4
repe cmpsd dword [esi], dword es:[edi]
sete bl
test bl, bl
jne 0x4cc62f
mov ecx, 4
mov edi, str.Bad_Rcon:__rcon
mov esi, eax
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x4cc97e
mov bl, 2
push str.__from__
lea ecx, [esp + 0x28]
call fcn.005d5620
mov esi, eax
cmp esi, 0xffffffff
je 0x4ce34f
mov eax, dword [esp + 0x24]
mov ecx, dword [eax - 8]
mov al, byte [ecx + eax - 1]
cmp al, 0x22
jne 0x4ce34f
lea eax, [esp + 0x20]
push esi
push eax
lea ecx, [esp + 0x2c]
call fcn.005d555b
mov cl, bl
mov byte [esp + 0x120], 5
dec cl
neg cl
sbb ecx, ecx
and ecx, 4
add ecx, 0xb
mov eax, ecx
mov ecx, dword [esp + 0x20]
cmp byte [eax + ecx], 0x20
jne 0x4cc696
mov dl, byte [eax + ecx + 1]
inc eax
cmp dl, 0x20
je 0x4cc68c
mov dl, byte [eax + ecx]
cmp dl, 0x30
jl 0x4cc6ad
cmp dl, 0x39
jg 0x4cc6ad
mov dl, byte [eax + ecx + 1]
inc eax
cmp dl, 0x30
jge 0x4cc69e
mov dl, byte [eax + ecx]
cmp dl, 0x20
je 0x4cc6cb
lea ecx, [esp + 0x20]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
jmp 0x4ce34f
mov dl, byte [eax + ecx + 1]
inc eax
cmp dl, 0x20
je 0x4cc6cb
cmp dl, 0x22
jne 0x4cc89c
mov dl, byte [eax + ecx + 1]
inc eax
cmp dl, 0x22
je 0x4cc6f6
test dl, dl
je 0x4cc6f6
mov dl, byte [eax + ecx + 1]
inc eax
cmp dl, 0x22
jne 0x4cc6e8
cmp byte [eax + ecx], 0x22
je 0x4cc712
lea ecx, [esp + 0x20]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
jmp 0x4ce34f
inc eax
cmp eax, esi
jge 0x4cc722
cmp byte [eax + ecx], 0x20
jne 0x4cc722
inc eax
cmp eax, esi
jl 0x4cc717
mov edx, esi
lea ecx, [esp + 0x24]
sub edx, eax
push edx
push eax
lea eax, [esp + 0x34]
push eax
call fcn.005d5449
mov ecx, dword [esp + 0x80]
push eax
add ecx, 0x50
mov byte [esp + 0x124], 6
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 5
call fcn.005dd1b0
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x24]
mov eax, dword [edx - 8]
sub eax, esi
add esi, 8
sub eax, 9
push eax
lea eax, [esp + 0x30]
push esi
push eax
call fcn.005d5449
mov ecx, dword [esp + 0x80]
push eax
add ecx, 0x54
mov byte [esp + 0x124], 7
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 5
call fcn.005dd1b0
lea ecx, [esp + 0xa0]
call fcn.004046f0
mov dword [esp + 0xa0], 0x628d34
mov edx, dword [esp + 0x80]
push 0
push 1
push ecx
add edx, 0x50
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x130], 8
call fcn.005dcf25
lea ecx, [esp + 0xac]
call fcn.004f5c50
cmp dword [esp + 0xa8], 1
jl 0x4cc80e
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0xa4]
push edx
lea ecx, [eax + 0x58]
call fcn.005dd29d
mov ecx, dword [esp + 0x80]
xor eax, eax
cmp bl, 1
lea edi, [ebp + 0x128]
setne al
add eax, 8
xor ebx, ebx
mov dword [ecx], eax
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov eax, 0x5397829d
sub ecx, edx
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
test edx, edx
jle 0x4cc954
mov ecx, dword [esp + 0x80]
add ecx, 0x54
push ecx
mov ecx, edi
sub esp, 8
mov edx, esp
mov dword [esp + 0x24], esp
push edx
push ebx
call fcn.004dc7b0
mov ecx, eax
add ecx, 0x58
call fcn.00401a00
call fcn.00490590
test al, al
jne 0x4cc8cf
mov ecx, dword [edi + 4]
mov edx, dword [edi]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov eax, edx
inc ebx
shr eax, 0x1f
add edx, eax
cmp ebx, edx
jl 0x4cc84a
jmp 0x4cc954
cmp dl, 0x20
je 0x4cc8af
test dl, dl
je 0x4cc8af
mov dl, byte [eax + ecx + 1]
inc eax
cmp dl, 0x20
jne 0x4cc8a1
cmp byte [eax + ecx], 0x20
je 0x4cc713
lea ecx, [esp + 0x20]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
jmp 0x4ce34f
mov eax, dword [edi]
lea esi, [ebx + ebx*2]
shl esi, 4
add esi, ebx
lea ecx, [esp + 0xe8]
shl esi, 2
push ecx
mov ebx, dword [eax + esi + 0x64]
lea ecx, [eax + esi + 0x44]
call fcn.004da120
mov edi, dword [edi]
mov edx, dword [0x6abf00]
mov eax, dword [eax]
mov ecx, dword [edi + esi + 0x14]
mov dword [esp + 0x4c], edx
push ebx
push eax
mov eax, dword [edi + esi + 0x40]
mov byte [esp + 0x128], 0xa
push eax
push ecx
lea ecx, [esp + 0x5c]
push str.__hlswinfo___s__u___s___s___
push ecx
call fcn.004f59f0
add esp, 0x18
lea ecx, [esp + 0x68]
push eax
call fcn.005dd57c
lea ecx, [esp + 0x4c]
mov byte [esp + 0x120], 9
call fcn.005dd1b0
lea ecx, [esp + 0xe8]
mov byte [esp + 0x120], 8
call fcn.00402ab0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x120], 5
call fcn.00404a20
lea ecx, [esp + 0x20]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
jmp 0x4ce34f
mov ecx, 2
mov edi, str._ADMIN_
mov esi, eax
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x4ccbb0
lea eax, [esp + 0x2c]
push 8
push eax
lea ecx, [esp + 0x2c]
call fcn.005d5426
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x124], 0xb
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
mov ecx, dword [esp + 0x80]
mov edi, str.ADMIN_Command:_Admin_used_command
xor edx, edx
mov dword [ecx], 0x2b
mov eax, dword [esp + 0x24]
mov ecx, 0x11
mov esi, eax
repe cmpsw word [esi], word es:[edi]
jne 0x4cca36
lea eax, [esp + 0x2c]
push 0x22
push eax
lea ecx, [esp + 0x2c]
call fcn.005d5426
mov ecx, dword [esp + 0x80]
push eax
add ecx, 0x50
mov byte [esp + 0x124], 0xc
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
mov edx, dword [esp + 0x80]
mov dword [edx], 0x2c
jmp 0x4ce34f
mov ecx, 5
mov edi, str._typesay_
mov esi, eax
xor edx, edx
repe cmpsw word [esi], word es:[edi]
jne 0x4cca94
lea eax, [esp + 0x2c]
push 0xa
push eax
lea ecx, [esp + 0x2c]
call fcn.005d5426
mov ecx, dword [esp + 0x80]
push eax
add ecx, 0x50
mov byte [esp + 0x124], 0xd
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
mov edx, dword [esp + 0x80]
mov dword [edx], 0x2f
jmp 0x4ce34f
mov ecx, 3
mov edi, str._say_
mov esi, eax
xor edx, edx
repe cmpsw word [esi], word es:[edi]
jne 0x4ccaf2
lea eax, [esp + 0x2c]
push 6
push eax
lea ecx, [esp + 0x2c]
call fcn.005d5426
mov ecx, dword [esp + 0x80]
push eax
add ecx, 0x50
mov byte [esp + 0x124], 0xe
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
mov edx, dword [esp + 0x80]
mov dword [edx], 0x2e
jmp 0x4ce34f
mov ecx, 3
mov edi, str._centersay_
mov esi, eax
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x4ccb4f
lea eax, [esp + 0x2c]
push 0xc
push eax
lea ecx, [esp + 0x2c]
call fcn.005d5426
mov ecx, dword [esp + 0x80]
push eax
add ecx, 0x50
mov byte [esp + 0x124], 0xf
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
mov edx, dword [esp + 0x80]
mov dword [edx], 0x2d
jmp 0x4ce34f
mov esi, eax
mov ecx, 2
mov edi, str._Admin_
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x4ce34f
lea ecx, [esp + 0x2c]
push 8
push ecx
lea ecx, [esp + 0x2c]
call fcn.005d5426
mov edx, dword [esp + 0x80]
push eax
mov byte [esp + 0x124], 0x10
lea ecx, [edx + 0x50]
call fcn.005dd29d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
mov eax, dword [esp + 0x80]
mov dword [eax], 0x30
jmp 0x4ce34f
mov ecx, 5
mov edi, str._CM_
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4ce15b
mov ecx, 5
mov edi, str._CLANMOD_
mov esi, eax
xor edx, edx
repe cmpsw word [esi], word es:[edi]
je 0x4ce15b
mov esi, eax
mov ecx, 7
mov edi, str._META_
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4ccc01
mov ecx, dword [esp + 0x80]
mov dword [ecx], 0x36
jmp 0x4ce34f
lea ecx, [esp + 0x88]
call fcn.004046f0
mov dword [esp + 0x88], 0x628d34
xor ebp, ebp
lea edx, [esp + 0x24]
push ebp
push ebp
push ecx
mov byte [esp + 0x12c], 0x15
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.005dcf25
lea ecx, [esp + 0x94]
call fcn.004f5c50
mov eax, 0x62fd3c
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xd4], eax
mov esi, dword [esp + 0x90]
mov byte [esp + 0x120], 0x17
cmp esi, ebp
jne 0x4cccaf
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebp
jmp 0x4ccce8
lea ebx, [esi*4]
push ebx
call fcn.005dd77b
mov ecx, ebx
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0xa8], edi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
mov dword [esp + 0xac], esi
and ecx, 3
mov dword [esp + 0xa8], esi
rep stosb byte es:[edi], al
mov ebx, dword [esp + 0x90]
cmp ebx, ebp
jne 0x4ccd03
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xdc], ebp
jmp 0x4ccd3c
lea esi, [ebx*4]
push esi
call fcn.005dd77b
mov ecx, esi
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0xdc], edi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
mov dword [esp + 0xe0], ebx
and ecx, 3
mov dword [esp + 0xdc], ebx
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x90]
xor ebx, ebx
xor edi, edi
cmp eax, ebp
jle 0x4ccda8
mov esi, dword [esp + 0xd8]
mov ebp, dword [esp + 0xa4]
sub ebp, esi
mov eax, dword [esp + 0x8c]
push ebx
lea ecx, [esp + 0x28]
mov eax, dword [eax + edi*4]
push eax
call fcn.005d562e
cmp eax, 0xffffffff
jne 0x4ccd84
mov dword [esi], 0
mov dword [esi + ebp], 0
jmp 0x4ccd99
mov dword [esi + ebp], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + edi*4]
mov ecx, dword [edx - 8]
lea ebx, [ecx + eax]
mov dword [esi], ebx
mov eax, dword [esp + 0x90]
inc edi
add esi, 4
cmp edi, eax
jl 0x4ccd5b
mov ebp, 0x6319cc
mov dword [esp + 0x34], ebp
mov eax, dword [ebp]
cmp eax, 1
je 0x4ccdc6
cmp eax, dword [esp + 0x9c]
jne 0x4cd215
xor ebx, ebx
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x74]
call fcn.0040de70
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xd8]
xor esi, esi
lea edi, [ebp + 4]
sub eax, ecx
mov dword [esp + 0x14], ebx
mov byte [esp + 0x13], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0xd0], 0x50
mov dword [esp + 0xb8], edi
mov dword [esp + 0x2c], eax
jmp 0x4cce11
mov ebx, dword [esp + 0x20]
mov eax, dword [edi]
test eax, eax
je 0x4cd005
cmp dword [esp + 0x90], esi
jle 0x4cd020
cmp eax, 1
jne 0x4cce51
mov ecx, dword [esp + 0x8c]
mov eax, dword [edi + 4]
push eax
mov ecx, dword [ecx + esi*4]
push ecx
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4cd020
jmp 0x4ccfeb
cmp eax, 2
je 0x4ccece
cmp eax, 3
je 0x4ccece
cmp eax, 4
jne 0x4cd020
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
lea eax, [edx + esi*4]
mov edx, dword [esp + 0xd0]
add ecx, edx
add edx, 4
push eax
mov dword [esp + 0xd4], edx
call fcn.005dd29d
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x2c]
push 0xffffffffffffffff
mov ebx, dword [edx + esi*4]
lea eax, [edx + esi*4]
lea edx, [edi + 1]
mov ebp, dword [ecx + eax]
push edx
lea ecx, [esp + 0x74]
call fcn.0040de70
mov ecx, dword [esp + 0x70]
lea eax, [edi + edi*2]
lea edx, [ecx + eax*4]
xor eax, eax
mov dword [edx], ebp
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
jmp 0x4ccfe4
mov eax, dword [esp + 0x8c]
lea ecx, [eax + esi*4]
push ecx
lea ecx, [esp + 0xc4]
call fcn.005dcf25
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
mov byte [esp + 0x120], 0x18
lea eax, [edx + esi*4]
lea ecx, [ebx + ecx + 8]
push eax
call fcn.0042ef90
test al, al
jne 0x4ccf69
cmp dword [edi], 3
jne 0x4cd00c
mov edx, dword [esp + 0x8c]
push 0x6a423c
lea ecx, [esp + 0x44]
lea eax, [edx + esi*4]
push eax
push ecx
call fcn.00404680
add esp, 0xc
mov edx, dword [esp + 0x80]
push eax
mov byte [esp + 0x124], 0x19
lea ecx, [ebx + edx + 8]
call fcn.0042ef90
test al, al
lea ecx, [esp + 0x40]
mov byte [esp + 0x120], 0x18
sete bl
call fcn.005dd1b0
test bl, bl
jne 0x4cd00c
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov ebx, dword [eax + esi*4]
lea eax, [eax + esi*4]
test edi, edi
mov edi, dword [esp + 0x74]
mov ebp, dword [ecx + eax]
setne dl
lea eax, [edi + 1]
inc edx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0xf8], edx
call fcn.0040de70
mov edx, dword [esp + 0x70]
lea ecx, [edi + edi*2]
mov byte [esp + 0x120], 0x17
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0xf0]
mov dword [eax], ebp
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x14], ecx
add eax, 0x24
lea ecx, [esp + 0xc0]
mov dword [esp + 0x20], eax
call fcn.005dd1b0
mov edi, dword [esp + 0xb8]
mov ebp, dword [esp + 0x34]
inc esi
add edi, 8
cmp esi, 8
mov dword [esp + 0xb8], edi
jl 0x4cce0d
jmp 0x4cd020
mov byte [esp + 0x13], 1
jmp 0x4cd020
lea ecx, [esp + 0xc0]
mov byte [esp + 0x120], 0x17
call fcn.005dd1b0
cmp esi, 8
je 0x4cd031
mov al, byte [esp + 0x13]
test al, al
je 0x4cd215
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 0x60]
lea ecx, [edx + 0x5c]
push eax
mov edx, dword [ecx]
push edx
call fcn.00433280
cmp esi, dword [esp + 0x90]
jge 0x4cd213
lea ebx, [esi - 1]
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + esi*4]
lea ecx, [eax + esi*4]
cmp dword [edx - 8], 2
jl 0x4cd20c
push 0
call fcn.005dd594
cmp byte [eax], 0x28
jne 0x4cd20c
mov eax, dword [esp + 0x8c]
push 0
mov edx, dword [eax + esi*4]
lea ecx, [eax + esi*4]
mov edi, dword [edx - 8]
call fcn.005dd594
cmp byte [eax + edi - 1], 0x29
jne 0x4cd137
sub esp, 8
mov eax, 0x698144
mov edx, esp
mov dword [esp + 0x34], esp
test eax, eax
mov dword [edx], 0x698144
je 0x4cd0c6
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x4cd0c8
xor ecx, ecx
mov dword [edx + 4], ecx
push esi
lea ecx, [esp + 0x94]
call fcn.0041be90
mov ecx, eax
call fcn.00467660
sub eax, 2
lea ecx, [esp + 0x50]
push eax
push 1
push ecx
push esi
lea ecx, [esp + 0xa0]
call fcn.0041be90
mov ecx, eax
call fcn.0041f990
sub esp, 8
mov ecx, eax
mov edx, esp
mov dword [esp + 0x3c], esp
push edx
mov byte [esp + 0x134], 0x1a
call fcn.0041be70
mov eax, dword [esp + 0x90]
lea ecx, [eax + 0x5c]
call fcn.00443640
mov byte [esp + 0x120], 0x17
lea ecx, [esp + 0x48]
jmp 0x4cd1f2
mov eax, dword [esp + 0x90]
inc esi
inc ebx
cmp esi, eax
jge 0x4cd20a
sub esp, 8
lea ecx, [esp + 0x90]
mov dword [esp + 0x34], esp
mov edi, esp
push esi
call fcn.0041be90
mov ecx, eax
call fcn.00467660
dec eax
lea ecx, [esp + 0x20]
push eax
push ecx
push esi
lea ecx, [esp + 0x9c]
call fcn.0041be90
mov ecx, eax
call fcn.00413090
mov eax, dword [eax]
lea edx, [esp + 0x40]
push 1
push edx
mov ecx, dword [eax - 8]
push ebx
mov dword [edi + 4], ecx
lea ecx, [esp + 0x9c]
mov byte [esp + 0x134], 0x1b
mov dword [edi], eax
call fcn.0041be90
mov ecx, eax
call fcn.00413020
sub esp, 8
mov byte [esp + 0x130], 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, eax
call fcn.0041be70
mov edx, dword [esp + 0x90]
lea ecx, [edx + 0x5c]
call fcn.00443640
lea ecx, [esp + 0x38]
mov byte [esp + 0x120], 0x1b
call fcn.005dd1b0
mov byte [esp + 0x120], 0x17
lea ecx, [esp + 0x18]
call fcn.005dd1b0
mov eax, dword [esp + 0x90]
inc esi
inc ebx
cmp esi, eax
jl 0x4cd057
jmp 0x4cd20c
xor esi, esi
cmp esi, dword [esp + 0x90]
je 0x4cd22a
add ebp, 0x48
cmp ebp, 0x63262c
mov dword [esp + 0x34], ebp
jl 0x4ccdb1
jmp 0x4cd236
mov ecx, dword [esp + 0x80]
mov eax, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [esp + 0x80]
or ebp, 0xffffffff
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], 0xffffffff
cmp dword [eax], 0xd
jne 0x4cd2b2
mov edx, dword [esp + 0x4c]
push 0
sub esp, 8
add eax, 8
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
lea esi, [edx + 0x128]
call fcn.0041f950
mov ecx, esi
call fcn.004dc210
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x40], ebp
jne 0x4cd2b2
mov eax, dword [esp + 0x80]
push 0
push 0
add eax, 8
sub esp, 8
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0041f950
push 1
mov ecx, esi
call fcn.004b0d50
mov eax, dword [esp + 0x3c]
or dword [eax + 0xf8], 4
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x80]
mov ecx, dword [edi + edx + 8]
lea eax, [edi + edx + 8]
mov edx, dword [ecx - 8]
test edx, edx
je 0x4cd4b3
push 0
lea ebp, [ebx + 0x128]
sub esp, 8
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.0041f950
mov ecx, ebp
call fcn.004dc210
mov edx, dword [esp + 0x34]
mov ebp, eax
mov al, byte [esp + 0x2b]
test al, al
mov dword [edx], ebp
je 0x4cd348
mov eax, dword [esp + 0x80]
push str.TERRORIST
mov eax, dword [edi + eax + 0x24]
push eax
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4cd348
mov ecx, dword [esp + 0x80]
push 0x698118
lea ecx, [edi + ecx + 0x24]
call fcn.005dd2ed
cmp ebp, 0xffffffff
je 0x4cd494
mov edx, dword [esp + 0x80]
lea eax, [edi + edx + 0x24]
push eax
sub esp, 8
mov ecx, esp
mov dword [esp + 0x24], esp
push ecx
push ebp
lea ecx, [ebx + 0x128]
call fcn.004dc7b0
mov ecx, eax
add ecx, 0x64
call fcn.00401a00
call fcn.004326d0
test al, al
jne 0x4cd3a8
mov eax, dword [ebx + 0x128]
lea edx, [ebp + ebp*2]
shl edx, 4
add edx, ebp
lea ecx, [eax + edx*4]
call fcn.004dbeb0
test eax, 0x100000
jne 0x4cd445
mov ecx, dword [esp + 0x80]
sub esp, 8
mov eax, esp
mov dword [esp + 0x20], esp
mov ecx, dword [edi + ecx + 0x24]
push ebp
mov edx, dword [ecx - 8]
mov dword [eax], ecx
lea ecx, [ebx + 0x128]
mov dword [eax + 4], edx
call fcn.004dc7b0
mov ecx, eax
add ecx, 0x64
call fcn.00443880
mov edx, dword [esp + 0x80]
lea ecx, [edi + edx + 0x10]
call fcn.004da0c0
test al, al
je 0x4cd437
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x128]
lea eax, [ebp + ebp*2]
mov esi, dword [ecx + esi + 0xc]
shl eax, 4
add eax, ebp
shl eax, 2
mov dword [edx + eax + 0x40], esi
mov esi, dword [esp + 0x80]
mov edx, dword [ebx + 0x128]
lea esi, [ecx + esi + 0x10]
mov ecx, 5
lea edi, [edx + eax + 0x44]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
mov eax, dword [ebx + 0x128]
lea ecx, [ebp + ebp*2]
shl ecx, 4
add ecx, ebp
mov edx, dword [ebx]
lea eax, [eax + ecx*4]
push eax
push 0
sub esp, 8
mov ecx, esp
mov dword [esp + 0x28], esp
push ecx
push ebp
lea ecx, [ebx + 0x128]
mov dword [esp + 0x30], edx
call fcn.004dc7b0
mov ecx, eax
add ecx, 0x64
call fcn.00401a00
mov edx, dword [esp + 0x28]
mov ecx, ebx
call dword [edx + 0x18]
mov ecx, dword [esp + 0x80]
mov dword [edi + ecx + 0x28], eax
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
add edi, 0x24
add edx, 4
cmp edi, 0x48
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], edi
jl 0x4cd2ce
cmp ebp, 0xffffffff
je 0x4cdb44
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
cmp eax, 0x12
jne 0x4cd55f
mov ecx, dword [edx + 0x50]
sub esp, 8
mov eax, esp
mov dword [esp + 0x20], esp
mov edx, dword [ecx - 8]
push ebp
mov dword [eax], ecx
lea ecx, [ebx + 0x128]
mov dword [eax + 4], edx
call fcn.004dc7b0
mov ecx, eax
add ecx, 0x14
call fcn.00443880
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x2c]
add edx, 8
push edx
call fcn.005dcf25
mov eax, dword [esp + 0x80]
mov byte [esp + 0x120], 0x1d
lea ecx, [eax + 0x50]
push ecx
lea ecx, [eax + 8]
call fcn.005dd29d
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x2c]
push eax
lea ecx, [edx + 0x50]
call fcn.005dd29d
mov eax, dword [esi + 0xf8]
lea ecx, [esp + 0x2c]
or al, 4
mov byte [esp + 0x120], 0x17
mov dword [esi + 0xf8], eax
call fcn.005dd1b0
jmp 0x4cd6c7
cmp eax, 0x10
jne 0x4cd5cb
mov al, byte [esp + 0x2b]
test al, al
je 0x4cd595
mov eax, dword [edx + 0x50]
push str.TERRORIST
push eax
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4cd595
mov ecx, dword [esp + 0x80]
push 0x698118
add ecx, 0x50
call fcn.005dd2ed
mov edx, dword [esp + 0x80]
sub esp, 8
mov eax, esp
mov dword [esp + 0x20], esp
mov ecx, dword [edx + 0x50]
push ebp
mov edx, dword [ecx - 8]
mov dword [eax], ecx
lea ecx, [ebx + 0x128]
mov dword [eax + 4], edx
call fcn.004dc7b0
mov ecx, eax
add ecx, 0x64
call fcn.00443880
jmp 0x4cd6b9
cmp eax, 0xd
jne 0x4cd677
mov eax, dword [ebx + 0x168]
lea ecx, [eax - 1]
test ecx, ecx
mov dword [esp + 0x34], ecx
jl 0x4cd631
lea edi, [ecx*8]
sub edi, ecx
shl edi, 3
jmp 0x4cd5fa
mov edx, dword [esp + 0x80]
mov eax, dword [ebx + 0x164]
mov eax, dword [edi + eax + 0x30]
test eax, eax
je 0x4cd625
cmp dword [eax], 0xc
jne 0x4cd625
mov ecx, dword [edx + 8]
mov eax, dword [eax + 8]
push ecx
push eax
call fcn.00510843
mov ecx, dword [esp + 0x3c]
add esp, 8
test eax, eax
je 0x4cd631
dec ecx
sub edi, 0x38
test ecx, ecx
mov dword [esp + 0x34], ecx
jge 0x4cd5f3
cmp ecx, 0xffffffff
je 0x4cd6c7
sub esp, 8
mov dword [esp + 0x20], esp
mov edi, esp
push ecx
lea ecx, [ebx + 0x160]
call fcn.004d5bd0
mov eax, dword [eax + 0x30]
push ebp
add eax, 0x50
mov eax, dword [eax]
mov ecx, dword [eax - 8]
mov dword [edi], eax
mov dword [edi + 4], ecx
lea ecx, [ebx + 0x128]
call fcn.004dc7b0
mov ecx, eax
add ecx, 0x58
call fcn.00443880
jmp 0x4cd6b9
cmp eax, 0xf
jne 0x4cd6c7
mov ecx, dword [ebx + 0x128]
lea eax, [ebp + ebp*2]
shl eax, 4
add eax, ebp
shl eax, 2
mov edx, dword [eax + ecx + 0xc0]
inc edx
mov dword [eax + ecx + 0xc0], edx
mov ecx, dword [ebx + 0x128]
mov byte [eax + ecx + 0xa0], 0
mov ecx, dword [ebx + 0x128]
mov byte [eax + ecx + 0xa1], 0
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
mov edi, dword [esp + 0x44]
cmp edi, 0xffffffff
je 0x4cdb44
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx]
cmp eax, 0x13
jne 0x4cd7b5
mov ecx, dword [ebx + 0x128]
lea eax, [ebp + ebp*2]
shl eax, 4
add eax, ebp
shl eax, 2
mov edx, dword [eax + ecx + 0x64]
mov esi, dword [eax + ecx + 0x68]
cmp edx, esi
je 0x4cd73c
lea edx, [edi + edi*2]
mov esi, dword [eax + ecx + 0x64]
shl edx, 4
add edx, edi
mov edi, dword [ecx + edx*4 + 0x64]
lea edx, [ecx + edx*4 + 0x64]
mov ecx, dword [eax + ecx + 0x68]
sub ecx, esi
mov edx, dword [edx + 4]
sub edx, edi
cmp ecx, edx
jne 0x4cd73c
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4cd73c
mov ecx, dword [ebx + 0x128]
inc dword [eax + ecx + 0xb8]
jmp 0x4cd749
mov ecx, dword [ebx + 0x128]
inc dword [eax + ecx + 0xb4]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov edi, 4
mov esi, dword [ecx + 0xf8]
lea eax, [edx + edx*2]
shl eax, 4
or esi, edi
add eax, edx
mov dword [ecx + 0xf8], esi
mov esi, dword [ebx + 0x128]
shl eax, 2
mov edx, dword [eax + esi + 0xbc]
inc edx
mov dword [eax + esi + 0xbc], edx
mov edx, dword [ebx + 0x128]
mov esi, ecx
mov byte [eax + edx + 0xa0], 0
mov edx, dword [ebx + 0x128]
mov byte [eax + edx + 0xa1], 0
mov eax, dword [ecx + 0xf8]
or eax, edi
mov dword [ecx + 0xf8], eax
jmp 0x4cdb44
cmp eax, 0x14
jne 0x4cdb44
lea eax, [esp + 0x18]
add ecx, 0x5c
push eax
mov dword [esp + 0x24], ecx
sub esp, 8
mov ecx, esp
mov dword [esp + 0x24], esp
push str.health
call fcn.00405b90
mov ecx, dword [esp + 0x2c]
call fcn.004dbbd0
test al, al
je 0x4cd85a
lea ecx, [esp + 0x38]
push ecx
sub esp, 8
mov ecx, esp
mov dword [esp + 0x54], esp
push str.armor
call fcn.00405b90
mov ecx, dword [esp + 0x2c]
call fcn.004dbbd0
test al, al
je 0x4cd85a
lea eax, [edi + edi*2]
mov ecx, dword [ebx + 0x128]
shl eax, 4
add eax, edi
mov edi, dword [esp + 0x18]
shl eax, 2
test edi, edi
setl dl
dec edx
and edx, edi
mov byte [eax + ecx + 0xa0], dl
mov ecx, dword [esp + 0x38]
mov edi, dword [ebx + 0x128]
test ecx, ecx
setl dl
dec edx
and edx, ecx
mov byte [eax + edi + 0xa1], dl
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
mov ecx, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x2c], edi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
je 0x4cdb44
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x20]
mov edi, str.damage
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [edx]
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x14]
not ecx
mov eax, dword [edx + edi]
mov edx, dword [edx + edi + 4]
dec ecx
sub edx, eax
cmp edx, ecx
jne 0x4cdb0c
mov esi, eax
mov edi, str.damage
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4cdb08
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
lea esi, [eax + edx + 0xc]
lea eax, [esp + 0xbf]
push eax
mov ecx, esi
call fcn.004927f0
push eax
lea ecx, [esp + 0xc8]
mov byte [esp + 0x124], 0x1e
call fcn.00482bc0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edx
lea ecx, [esp + 0xcc]
mov byte [esp + 0x128], 0x20
call fcn.00434950
lea eax, [esp + 0x100]
push 7
push eax
lea ecx, [esp + 0xcc]
mov byte [esp + 0x128], 0x21
call fcn.00482090
mov edx, eax
mov edi, str.health:
or ecx, 0xffffffff
xor eax, eax
mov esi, dword [edx]
mov edx, dword [edx + 4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub edx, esi
cmp edx, ecx
jne 0x4cd958
mov edi, str.health:
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov byte [esp + 0x13], 1
je 0x4cd95d
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x100]
sub ecx, eax
mov byte [esp + 0x120], 0x22
push ecx
push eax
lea ecx, [esp + 0x110]
call fcn.00402b70
mov al, byte [esp + 0x13]
mov byte [esp + 0x120], 0x21
test al, al
je 0x4cd9f8
mov eax, dword [ebx + 0x128]
lea edx, [ebp + ebp*2]
shl edx, 4
add edx, ebp
push 0xffffffffffffffff
push 7
lea ecx, [esp + 0xcc]
lea esi, [eax + edx*4 + 0xa4]
lea eax, [esp + 0x114]
push eax
call fcn.004820c0
mov ecx, eax
mov byte [esp + 0x120], 0x23
call fcn.004fde70
add dword [esi], eax
mov ecx, dword [esp + 0x114]
mov eax, dword [esp + 0x10c]
sub ecx, eax
mov byte [esp + 0x120], 0x24
push ecx
push eax
lea ecx, [esp + 0x11c]
jmp 0x4cdad5
lea edx, [esp + 0xf4]
push 6
push edx
lea ecx, [esp + 0xcc]
call fcn.00482090
mov edx, eax
mov edi, str.armor:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov esi, dword [edx]
mov eax, dword [edx + 4]
not ecx
dec ecx
sub eax, esi
cmp eax, ecx
jne 0x4cda3a
mov edi, str.armor:
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
mov byte [esp + 0x13], 1
je 0x4cda3f
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf4]
sub ecx, eax
mov byte [esp + 0x120], 0x25
push ecx
push eax
lea ecx, [esp + 0x104]
call fcn.00402b70
mov al, byte [esp + 0x13]
mov byte [esp + 0x120], 0x21
test al, al
je 0x4cdada
mov eax, dword [ebx + 0x128]
lea edx, [ebp + ebp*2]
shl edx, 4
add edx, ebp
push 0xffffffffffffffff
push 6
lea ecx, [esp + 0xcc]
lea esi, [eax + edx*4 + 0xa8]
lea eax, [esp + 0xf0]
push eax
call fcn.004820c0
mov ecx, eax
mov byte [esp + 0x120], 0x26
call fcn.004fde70
add dword [esi], eax
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xe8]
sub ecx, eax
mov byte [esp + 0x120], 0x27
push ecx
push eax
lea ecx, [esp + 0xf8]
call fcn.00402b70
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc4]
sub edx, eax
lea ecx, [esp + 0xcc]
push edx
push eax
mov byte [esp + 0x128], 0x28
call fcn.00402b70
mov byte [esp + 0x120], 0x17
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add eax, 0x18
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
inc edi
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
mov dword [esp + 0x2c], edi
shr eax, 0x1f
add edx, eax
cmp edi, edx
jb 0x4cd886
mov al, byte [esp + 0x2b]
test al, al
je 0x4ce0dc
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx]
cmp eax, 0x18
jne 0x4cdd77
mov eax, dword [ecx + 0x50]
push str.Round_End
push eax
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4cdc09
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov ecx, edx
xor ebp, ebp
shr ecx, 0x1f
add edx, ecx
test edx, edx
jle 0x4cdbf6
xor ecx, ecx
xor edi, edi
jmp 0x4cdba8
xor ecx, ecx
mov eax, dword [ebx + 0x128]
mov dword [eax + edi + 0xac], ecx
mov eax, dword [ebx + 0x128]
cmp dword [eax + edi + 0xb0], 2
je 0x4cdbcc
mov dword [eax + edi + 0xb0], ecx
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov eax, edx
inc ebp
shr eax, 0x1f
add edx, eax
add edi, 0xc4
cmp ebp, edx
jl 0x4cdba6
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
mov ecx, dword [esp + 0x80]
push str.Round_Start
mov eax, dword [ecx + 0x50]
push eax
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4cdcce
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov eax, edx
xor ebp, ebp
shr eax, 0x1f
add edx, eax
xor edi, edi
test edx, edx
jle 0x4cdcbb
xor ecx, ecx
mov eax, dword [ebx + 0x128]
mov edx, dword [eax + ecx + 0x64]
cmp edx, dword [eax + ecx + 0x68]
jne 0x4cdc78
mov dword [eax + ecx + 0xac], ebp
mov eax, dword [ebx + 0x128]
mov dword [eax + ecx + 0xb0], ebp
jmp 0x4cdc91
mov dword [eax + ecx + 0xac], 1
mov eax, dword [ebx + 0x128]
mov byte [eax + ecx + 0xa0], 0x64
mov edx, dword [ebx + 0x12c]
mov eax, dword [ebx + 0x128]
sub edx, eax
mov eax, 0x5397829d
imul edx
sar edx, 6
mov eax, edx
inc edi
shr eax, 0x1f
add edx, eax
add ecx, 0xc4
cmp edi, edx
jl 0x4cdc52
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
mov ecx, dword [esp + 0x80]
call fcn.0042f580
test eax, eax
je 0x4ce0dc
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov ecx, edx
xor ebp, ebp
shr ecx, 0x1f
add edx, ecx
test edx, edx
jle 0x4ce0dc
xor edi, edi
xor ecx, ecx
mov eax, dword [ebx + 0x128]
add ecx, 0xc4
mov dword [eax + ecx - 0x18], edi
mov eax, dword [ebx + 0x128]
mov dword [eax + ecx - 0x14], edi
mov eax, dword [ebx + 0x128]
mov dword [eax + ecx - 4], edi
mov dword [eax + ecx - 8], edi
mov dword [eax + ecx - 0xc], edi
mov dword [eax + ecx - 0x10], edi
mov edx, dword [esi + 0xf8]
or edx, 4
inc ebp
mov dword [esi + 0xf8], edx
mov edx, dword [ebx + 0x12c]
mov eax, dword [ebx + 0x128]
sub edx, eax
mov eax, 0x5397829d
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
jl 0x4cdd0f
jmp 0x4ce0dc
cmp eax, 0x16
jne 0x4cdfb8
cmp ebp, 0xffffffff
je 0x4ce0dc
mov eax, dword [ecx + 0x50]
push str.Spawned_With_The_Bomb
push eax
call fcn.00510843
add esp, 8
test eax, eax
je 0x4cdf36
mov ecx, dword [esp + 0x80]
push str.Got_The_Bomb
mov eax, dword [ecx + 0x50]
push eax
call fcn.00510843
add esp, 8
test eax, eax
je 0x4cdf36
mov edx, dword [esp + 0x80]
push str.Planted_The_Bomb
mov eax, dword [edx + 0x50]
push eax
call fcn.00510843
add esp, 8
test eax, eax
je 0x4cdec1
mov eax, dword [esp + 0x80]
push str.Dropped_The_Bomb
mov eax, dword [eax + 0x50]
push eax
call fcn.00510843
add esp, 8
test eax, eax
je 0x4cdec1
mov ecx, dword [esp + 0x80]
push str.Became_VIP
mov eax, dword [ecx + 0x50]
push eax
call fcn.00510843
add esp, 8
test eax, eax
je 0x4cde3e
mov edx, dword [esp + 0x80]
push str.Escaped_As_VIP
mov eax, dword [edx + 0x50]
push eax
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4ce0dc
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov eax, edx
xor edi, edi
shr eax, 0x1f
add edx, eax
test edx, edx
jle 0x4cdeae
mov dword [esp + 0x2c], edi
mov eax, dword [ebx + 0x128]
mov ecx, dword [esp + 0x2c]
xor edx, edx
cmp edi, ebp
setne dl
dec edx
add ecx, 0xc4
and edx, 2
mov dword [esp + 0x2c], ecx
mov dword [eax + ecx - 0x14], edx
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
mov eax, 0x5397829d
sub ecx, edx
inc edi
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edi, edx
jl 0x4cde67
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov ecx, edx
xor edi, edi
shr ecx, 0x1f
add edx, ecx
test edx, edx
jle 0x4cdf23
xor ebp, ebp
mov eax, dword [ebx + 0x128]
inc edi
mov dword [eax + ebp + 0xb0], 0
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
mov eax, 0x5397829d
sub ecx, edx
add ebp, 0xc4
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edi, edx
jl 0x4cdee8
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ebx + 0x128]
sub ecx, edx
mov eax, 0x5397829d
imul ecx
sar edx, 6
mov ecx, edx
xor edi, edi
shr ecx, 0x1f
add edx, ecx
test edx, edx
jle 0x4cdfa5
xor ecx, ecx
jmp 0x4cdf63
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0x128]
xor edx, edx
cmp edi, ebp
sete dl
mov dword [eax + ecx + 0xb0], edx
mov edx, dword [ebx + 0x128]
add ecx, 0xc4
mov eax, 0x5397829d
mov dword [esp + 0x18], ecx
mov ecx, dword [ebx + 0x12c]
sub ecx, edx
inc edi
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edi, edx
jl 0x4cdf5f
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
cmp eax, 0xf
jne 0x4cdff3
cmp ebp, 0xffffffff
je 0x4ce0dc
mov ebx, dword [ebx + 0x128]
lea ecx, [ebp + ebp*2]
shl ecx, 4
add ecx, ebp
mov dword [ebx + ecx*4 + 0xac], 2
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
cmp eax, 0x10
jne 0x4ce03c
cmp ebp, 0xffffffff
je 0x4ce0dc
mov ecx, dword [ebx + 0x128]
lea eax, [ebp + ebp*2]
shl eax, 4
add eax, ebp
xor edx, edx
shl eax, 2
mov dword [ecx + eax + 0xac], edx
mov ebx, dword [ebx + 0x128]
mov dword [ebx + eax + 0xb0], edx
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
cmp eax, 0x13
jne 0x4ce0ae
cmp ebp, 0xffffffff
je 0x4ce07c
mov ecx, dword [ebx + 0x128]
lea eax, [ebp + ebp*2]
shl eax, 4
add eax, ebp
shl eax, 2
mov edx, dword [ecx + eax + 0xac]
test edx, edx
jne 0x4ce07c
mov dword [ecx + eax + 0xac], 1
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
mov eax, dword [esp + 0x44]
cmp eax, 0xffffffff
je 0x4ce0dc
mov ebx, dword [ebx + 0x128]
lea edx, [eax + eax*2]
shl edx, 4
add edx, eax
mov dword [ebx + edx*4 + 0xac], 2
mov eax, dword [esi + 0xf8]
or al, 4
mov dword [esi + 0xf8], eax
jmp 0x4ce0dc
cmp eax, 0x1c
jne 0x4ce0dc
mov eax, dword [ecx + 0x50]
push str.TERRORIST
push eax
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4ce0dc
mov eax, dword [esp + 0x80]
push 0x698118
lea ecx, [eax + 0x50]
call fcn.005dd2ed
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x4ce0f0
push eax
call fcn.005dd7a4
add esp, 4
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x4ce104
push eax
call fcn.005dd7a4
add esp, 4
mov dword [esp + 0x88], method.CGopherLocator.virtual_0
mov esi, dword [esp + 0x8c]
mov byte [esp + 0x120], 0x29
test esi, esi
je 0x4ce14a
mov edi, dword [esp + 0x90]
test edi, edi
je 0x4ce13a
mov ecx, esi
call fcn.005dd1b0
add esi, 4
dec edi
jne 0x4ce12d
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.005dd7a4
add esp, 4
mov ebp, dword [esp + 0x4c]
mov byte [esp + 0x120], 4
jmp 0x4ce34f
push 0x5d
lea ecx, [esp + 0x28]
call fcn.005dd65e
add eax, 2
lea edx, [esp + 0x18]
push eax
push edx
lea ecx, [esp + 0x2c]
call fcn.005d5426
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x124], 0x11
call fcn.005dd29d
lea ecx, [esp + 0x18]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0xa0]
mov dword [eax], 0x31
call fcn.004046f0
mov dword [esp + 0xa0], 0x628d34
push 2
push 0
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x130], 0x12
call fcn.005dcf25
lea ecx, [esp + 0xac]
call fcn.004f5c50
cmp dword [esp + 0xa8], 2
jne 0x4ce33b
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0x14]
push eax
call fcn.005dcf25
mov ecx, dword [esp + 0xa4]
mov byte [esp + 0x120], 0x13
add ecx, 4
push ecx
lea ecx, [esp + 0x24]
call fcn.005dcf25
lea ecx, [esp + 0x20]
mov byte [esp + 0x120], 0x14
call fcn.005d5a97
mov edx, dword [esp + 0x14]
push str._motd_
push edx
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4ce270
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x20]
push edx
lea ecx, [eax + 0x50]
call fcn.005dd29d
mov eax, dword [esp + 0x80]
mov dword [eax], 0x32
jmp 0x4ce319
mov ecx, dword [esp + 0x14]
push str._cm_say_
push ecx
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4ce2a9
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x20]
push eax
lea ecx, [edx + 0x50]
call fcn.005dd29d
mov ecx, dword [esp + 0x80]
mov dword [ecx], 0x33
jmp 0x4ce319
mov edx, dword [esp + 0x14]
push str._cm_sayadmin_
push edx
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4ce2e2
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x20]
push edx
lea ecx, [eax + 0x50]
call fcn.005dd29d
mov eax, dword [esp + 0x80]
mov dword [eax], 0x34
jmp 0x4ce319
mov ecx, dword [esp + 0x14]
push str._cm_saycenter_
push ecx
call fcn.00510843
add esp, 8
test eax, eax
jne 0x4ce319
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x20]
push eax
lea ecx, [edx + 0x50]
call fcn.005dd29d
mov ecx, dword [esp + 0x80]
mov dword [ecx], 0x35
lea ecx, [esp + 0x20]
mov byte [esp + 0x120], 0x13
call fcn.005dd1b0
lea ecx, [esp + 0x14]
mov byte [esp + 0x120], 0x12
call fcn.005dd1b0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x120], 4
call fcn.00404a20
mov eax, dword [esp + 0x80]
cmp dword [eax], 7
jne 0x4ce406
test byte [eax + 5], 2
je 0x4ce406
mov eax, dword [ebp + 0x188]
lea edi, [ebp + 0x188]
cmp eax, 0xffffffff
je 0x4ce406
xor ebx, ebx
cmp eax, ebx
je 0x4ce408
cmp word [edi + 4], bx
je 0x4ce408
push 1
push str.RconLogaddressMapchange
push str.Settings
mov ecx, 0x6b3dfc
call fcn.00405180
test eax, eax
je 0x4ce408
push ebx
push 2
lea ecx, [esp + 0x20]
call fcn.0041a0a0
mov esi, eax
xor edx, edx
mov ecx, edi
mov dx, word [ebp + 0x18c]
mov byte [esp + 0x128], 0x2a
push edx
call fcn.004623c0
push eax
push str.logaddress__s__d
push esi
call fcn.004f59f0
add esp, 0xc
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.0041f970
mov ecx, dword [esp + 0x48]
call fcn.00447090
lea ecx, [esp + 0x18]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
jmp 0x4ce408
xor ebx, ebx
mov eax, dword [esp + 0x80]
cmp eax, ebx
je 0x4ce48b
cmp dword [eax], ebx
jne 0x4ce41f
mov dword [esp + 0x58], 1
test byte [eax + 5], 2
je 0x4ce48b
cmp dword [eax], 8
jne 0x4ce44d
mov eax, dword [eax + 0x58]
push str.logaddress
push eax
call fcn.00510588
add esp, 8
test eax, eax
jne 0x4ce44d
mov dword [ebp + 0x178], ebx
mov dword [ebp + 0x17c], ebx
jmp 0x4ce48b
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ebx
push eax
mov dword [esp + 0x20], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ebx
push 0xa
push ecx
push edx
call fcn.00510160
push ebx
push 0x3e8
push edx
push eax
call fcn.00510160
mov dword [ebp + 0x178], eax
mov dword [ebp + 0x17c], edx
lea eax, [esp + 0x50]
push 1
push eax
lea ecx, [ebp + 0x160]
call fcn.0042f1b0
mov eax, dword [esp + 0x80]
cmp eax, ebx
je 0x4ce7f6
test byte [eax + 5], 2
je 0x4ce7f6
push ebx
push str.RconSaveLog
push str.Settings
mov ecx, 0x6b3dfc
call fcn.00405180
test eax, eax
je 0x4ce549
push str..log
lea ecx, [esp + 0x1c]
push 3
push ecx
lea ecx, [esp + 0x74]
call fcn.00413020
push ecx
mov byte [esp + 0x128], 0x2b
mov edx, esp
mov dword [esp + 0x40], esp
push 0xa
push eax
push edx
call fcn.0041fa80
add esp, 0xc
mov edi, dword [esp + 0xbc]
mov byte [esp + 0x128], 0x2c
mov ecx, edi
call fcn.00446cc0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.00496860
mov ecx, 0x6bb390
mov byte [esp + 0x13c], 0x2b
call fcn.0043d990
lea ecx, [esp + 0x18]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
jmp 0x4ce550
mov edi, dword [esp + 0xb4]
push ebx
push str.RconSaveLogBotFail
push str.Settings
mov ecx, 0x6b3dfc
call fcn.00405180
test eax, eax
je 0x4ce66e
cmp dword [esp + 0x58], 2
jne 0x4ce66e
push str..botfail.log
lea eax, [esp + 0x44]
push 3
push eax
lea ecx, [esp + 0x74]
call fcn.00413020
mov esi, eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x124], 0x2d
push ecx
lea ecx, [ebp + 0xf0]
call fcn.00401a00
push eax
lea ecx, [esp + 0x50]
call fcn.004325d0
push 0x20
lea edx, [esp + 0x40]
push eax
push edx
mov byte [esp + 0x130], 0x2e
call fcn.0041fa80
push esi
push eax
lea eax, [esp + 0x30]
mov byte [esp + 0x138], 0x2f
push eax
call fcn.0040d740
add esp, 0x14
mov byte [esp + 0x128], 0x30
mov ecx, esp
mov dword [esp + 0xa4], esp
push 0xa
push eax
push ecx
call fcn.005d5064
mov ecx, edi
mov byte [esp + 0x128], 0x31
call fcn.00446cc0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0xd0], esp
push eax
call fcn.00496860
mov ecx, 0x6bb390
mov byte [esp + 0x13c], 0x30
call fcn.0043d990
lea ecx, [esp + 0x18]
mov byte [esp + 0x120], 0x2f
call fcn.005dd1b0
lea ecx, [esp + 0x38]
mov byte [esp + 0x120], 0x2e
call fcn.005dd1b0
lea ecx, [esp + 0x48]
mov byte [esp + 0x120], 0x2d
call fcn.005dd1b0
lea ecx, [esp + 0x40]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
push ebx
push str.RconSaveLogChat
push str.Settings
mov ecx, 0x6b3dfc
call fcn.00405180
test eax, eax
je 0x4ce7f6
push ebx
push 0xa
lea ecx, [ebp + 0x120]
call fcn.0042f500
lea edx, [esp + 0x1c]
push eax
push edx
lea ecx, [esp + 0x60]
call fcn.0042f630
mov eax, dword [esp + 0x14]
mov byte [esp + 0x120], 0x32
cmp dword [eax - 8], ebx
je 0x4ce7e5
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
push ecx
mov dword [esp + 0x20], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ebx
push 0xa
push edx
push eax
call fcn.00510160
push ebx
push 0x3e8
push edx
push eax
call fcn.00510160
push ebx
push 0x2710
push edx
push eax
call fcn.00510bf0
lea ecx, [esp + 0x2c]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
call fcn.005d620c
lea edx, [esp + 0x40]
push str._H:_M:_S
push edx
lea ecx, [esp + 0x20]
call fcn.005d629a
lea ecx, [esp + 0x14]
lea edx, [esp + 0x48]
push ecx
push eax
push edx
mov byte [esp + 0x12c], 0x33
call fcn.005dd393
push 0xa
push eax
lea eax, [esp + 0x40]
mov byte [esp + 0x128], 0x34
push eax
call fcn.005d5064
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x124], 0x35
call fcn.005dd29d
lea ecx, [esp + 0x38]
mov byte [esp + 0x120], 0x34
call fcn.005dd1b0
lea ecx, [esp + 0x48]
mov byte [esp + 0x120], 0x33
call fcn.005dd1b0
lea ecx, [esp + 0x40]
mov byte [esp + 0x120], 0x32
call fcn.005dd1b0
push str..chat.log
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0xa4], esp
push edx
call fcn.005dcf25
mov ecx, edi
mov byte [esp + 0x128], 0x36
call fcn.00446cc0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0xd0], esp
push eax
call fcn.00496860
mov byte [esp + 0x13c], 0x32
mov ecx, 0x6bb390
call fcn.0043d990
lea ecx, [esp + 0x14]
mov byte [esp + 0x120], 4
call fcn.005dd1b0
lea ecx, [esp + 0x24]
mov byte [esp + 0x120], 0
call fcn.005dd1b0
lea ecx, [esp + 0x50]
mov dword [esp + 0x120], 0xffffffff
call fcn.0042e870
mov al, 1
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x114
ret 0xc