Function at 0x4587a6
Capabilities:
Delete file
Inspect section memory permissions
Parse pe header

Disassembly:
push 0x1bc
mov eax, 0x5c6301
call fcn.0058708e
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ebx
xor esi, esi
inc esi
mov dword [ebp - 4], esi
push dword [ebp + 8]
call fcn.004084c2
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 2
call fcn.004571f2
mov edi, eax
mov byte [ebp - 0x2d], 1
cmp edi, ebx
je 0x45809c
mov eax, dword [0x6de640]
shl eax, 0x14
cdq
cmp dword [ebp + 0x28], edx
jl 0x458012
jg 0x45800e
cmp dword [ebp + 0x24], eax
jbe 0x458012
mov byte [ebp - 0x2d], 0
push dword [ebp + 0x10]
lea eax, [ebp - 0x2c]
push eax
call fcn.00408518
mov byte [ebp - 4], 3
lea eax, [ebp - 0x2c]
call fcn.0040876a
push 0x67c930
xor ecx, ecx
lea esi, [ebp - 0x2c]
call fcn.004260a9
cmp eax, 0xffffffff
jne 0x45804f
push 0x67c958
xor ecx, ecx
call fcn.004260a9
cmp eax, 0xffffffff
je 0x458053
mov byte [ebp - 0x2d], 0
push 0x67c96c
xor ecx, ecx
lea esi, [ebp - 0x2c]
call fcn.004260a9
test eax, eax
jne 0x458071
cmp dword [0x6de60c], ebx
jne 0x458071
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x45808a
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.00464098
test al, al
je 0x45808a
mov byte [ebp - 0x2d], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call fcn.00408559
cmp byte [ebp - 0x2d], 0
je 0x45810d
push ebx
push ebx
push 0x6c83f8
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
jne 0x45810d
push dword [ebp + 0x10]
lea eax, [ebp - 0x2c]
push eax
call fcn.00408518
mov byte [ebp - 4], 4
lea eax, [ebp - 0x2c]
call fcn.0040876a
push 0x67c970
xor ecx, ecx
lea esi, [ebp - 0x2c]
call fcn.004260a9
or edi, 0xffffffff
cmp eax, edi
jne 0x4580fb
push 0x67c980
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x4580fb
push 0x67c990
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
je 0x4580ff
mov byte [ebp - 0x2d], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call fcn.00408559
jmp 0x458110
or edi, 0xffffffff
mov byte [ebp - 0x42], 0
mov byte [ebp - 0x43], 0
mov byte [ebp - 0x41], 0
mov byte [ebp - 0x55], 0
cmp byte [ebp - 0x2d], 0
je 0x45abfc
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x24]
add dword [esi + 0x38], eax
mov eax, dword [ebp + 0x28]
adc dword [esi + 0x3c], eax
lea eax, [ebp - 0x38]
push eax
call fcn.004083b0
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0x10]
call fcn.00473a10
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 6
cmp eax, edi
je 0x45aa09
push eax
mov ebx, dword [0x6ddd34]
call fcn.00476fa0
test al, al
jne 0x45aa09
cmp dword [esi + 0x18], 0x3e8
jne 0x4587e6
cmp byte [ebp + 0x30], al
jne 0x4587d9
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push eax
call fcn.00408518
push 7
pop esi
mov byte [ebp - 4], 7
lea eax, [ebp - 0x28]
call fcn.0040876a
mov byte [ebp - 0x39], 1
push 0x67c99c
lea eax, [ebp - 0x7c]
push eax
call fcn.00408518
push 8
pop ebx
mov byte [ebp - 4], bl
mov dword [ebp - 0x1c], 3
lea eax, [ebp - 0x7c]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
jne 0x458255
push 0x67c9b8
lea eax, [ebp - 0x24]
push eax
call fcn.00408518
mov dword [ebp - 4], 9
mov dword [ebp - 0x1c], esi
lea eax, [ebp - 0x24]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
jne 0x458255
push 0x67c9d8
lea eax, [ebp - 0x34]
push eax
call fcn.00408518
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x34]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
jne 0x458255
push 0x67ca04
lea eax, [ebp - 0x2c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x1c], 0x1f
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
mov byte [ebp - 0x2e], 0
je 0x458259
mov byte [ebp - 0x2e], 1
mov dword [ebp - 4], 0xa
test byte [ebp - 0x1c], 0x10
je 0x458272
and dword [ebp - 0x1c], 0xffffffef
lea ecx, [ebp - 0x2c]
call fcn.00408559
mov dword [ebp - 4], 9
test byte [ebp - 0x1c], bl
je 0x45828a
and dword [ebp - 0x1c], 0xfffffff7
lea ecx, [ebp - 0x34]
call fcn.00408559
mov dword [ebp - 4], ebx
test byte [ebp - 0x1c], 4
je 0x45829f
and dword [ebp - 0x1c], 0xfffffffb
lea ecx, [ebp - 0x24]
call fcn.00408559
mov dword [ebp - 4], esi
test byte [ebp - 0x1c], 2
je 0x4582b4
and dword [ebp - 0x1c], 0xfffffffd
lea ecx, [ebp - 0x7c]
call fcn.00408559
cmp byte [ebp - 0x2e], 0
jne 0x45832b
mov eax, dword [0x6c83d0]
shl eax, 0x14
cdq
mov ebx, eax
mov esi, edx
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
lea ecx, [ebp - 0x28]
push ecx
push eax
call fcn.004084e9
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 7
call fcn.004235f6
pop ecx
cmp edx, esi
jl 0x4582ef
jg 0x45832b
cmp eax, ebx
ja 0x45832b
cmp dword [0x6c83d4], 0
je 0x45832f
push 0x67ca2c
xor ecx, ecx
lea esi, [ebp - 0x28]
call fcn.004260a9
cmp eax, edi
jne 0x45832b
push 0x67ca3c
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x45832b
push 0x67ca4c
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
je 0x45832f
mov byte [ebp - 0x39], 0
push 0x67ca58
xor ecx, ecx
lea esi, [ebp - 0x28]
call fcn.004260a9
cmp eax, edi
jne 0x458382
push 0x67ca64
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x458382
push 0x67ca78
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x458382
push 0x67ca88
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x458382
push 0x67ca98
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
je 0x458386
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x4587ca
push 0x2e
lea esi, [ebp - 0x28]
call fcn.004260f6
cmp eax, edi
je 0x4587ca
lea ecx, [eax + 1]
lea eax, [ebp - 0x24]
push eax
mov edx, esi
call fcn.004261d5
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x24]
call fcn.0040876a
lea eax, [ebp - 0x2c]
push eax
call fcn.004084c2
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004084e9
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x67caa4
call fcn.00409d1b
test eax, eax
je 0x458408
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x67caac
call fcn.00409d1b
test eax, eax
je 0x458408
lea eax, [ebp - 0x34]
call fcn.00426114
jmp 0x458416
push 0x67cab4
lea eax, [ebp - 0x34]
push eax
call fcn.004085bd
cmp dword [0x6de558], 1
jne 0x458487
push 0x67cad0
lea eax, [ebp - 0x4c]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x48]
push ecx
mov esi, eax
call fcn.00413865
mov byte [ebp - 4], 0x11
push 0x67cabc
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.0040fcd8
add esp, 0x10
mov byte [ebp - 4], 0x12
lea edi, [ebp - 0x2c]
call fcn.0040857c
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x40]
call fcn.00408559
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x48]
call fcn.00408559
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x4c]
call fcn.00408559
mov eax, dword [ebp - 0x2c]
cmp dword [eax - 0xc], 0
jne 0x458558
xor bl, bl
mov eax, 0x6de9e4
mov dword [ebp - 0x60], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x13
xor edi, edi
mov dword [ebp - 0x18c], edi
mov eax, dword [0x6dea2c]
sub eax, dword [0x6dea28]
sar eax, 2
cmp edi, eax
jae 0x4584df
mov esi, 0x6dea1c
call fcn.00413f62
push dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.004085f9
test eax, eax
je 0x4584e3
inc edi
jmp 0x4584ab
test bl, bl
je 0x45854b
push 0x67caf8
lea eax, [ebp - 0x4c]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x48]
push ecx
mov esi, eax
call fcn.00413865
mov byte [ebp - 4], 0x15
push 0x67cae4
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.0040fcd8
add esp, 0x10
mov byte [ebp - 4], 0x16
lea edi, [ebp - 0x2c]
call fcn.0040857c
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x40]
call fcn.00408559
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x48]
call fcn.00408559
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x4c]
call fcn.00408559
mov byte [ebp - 4], 0xf
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb0c
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb14
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb1c
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb24
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb2c
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb34
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb3c
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb44
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb4c
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb54
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb5c
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb64
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb6c
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb74
call fcn.00409d1b
test eax, eax
je 0x458682
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cb7c
call fcn.00409d1b
test eax, eax
jne 0x4586ea
push 0x67cb9c
lea eax, [ebp - 0x4c]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x48]
push ecx
mov esi, eax
call fcn.00413865
mov byte [ebp - 4], 0x18
push str..DeepScript
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.0040fcd8
add esp, 0x10
mov byte [ebp - 4], 0x19
lea edi, [ebp - 0x2c]
call fcn.0040857c
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x40]
call fcn.00408559
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x48]
call fcn.00408559
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x4c]
call fcn.00408559
mov eax, dword [ebp - 0x2c]
cmp dword [eax - 0xc], 0
je 0x4587a6
mov byte [ebp - 4], 0x1a
push dword [ebp + 0x10]
lea eax, [ebp - 0x40]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x80]
call fcn.0042f52b
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x40]
call fcn.00408559
cmp byte [ebp - 0x41], 0
jne 0x45879f
cmp byte [ebp - 0x42], 0
jne 0x45879f
push 0x1b7740
push dword [0x6de668]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, 0x6de8f0
mov dword [ebp - 0x50], esi
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x1c
push 0x6de8ec
call fcn.00431848
test al, al
je 0x458794
lea eax, [ebp - 0x28]
push eax
call fcn.00431705
test al, al
jne 0x458794
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cbb0
call fcn.00409d1b
test eax, eax
jne 0x458789
push dword [ebp - 0x28]
call fcn.0042363d
pop ecx
test al, al
je 0x458794
push dword [ebp - 0x2c]
lea eax, [ebp - 0x38]
call fcn.00413620
mov byte [ebp - 4], 0x1a
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xf
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x34]
call fcn.00408559
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2c]
call fcn.00408559
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x24]
call fcn.00408559
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
call fcn.00408559
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x18], 0x3e8
je 0x45a52d
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], 0
jne 0x45a449
mov byte [ebp - 0xac], 0
xor eax, eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
lea edi, [ebp - 0xc4]
mov ebx, dword [ebp - 0x80]
lea esi, [ebp - 0xa4]
call fcn.00474190
cmp byte [ebp - 0x98], 0
je 0x45a446
cmp byte [ebp - 0xac], 0
je 0x45a446
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xb0]
cmp ecx, eax
jb 0x458883
ja 0x458862
mov edx, dword [ebp - 0xc4]
cmp edx, dword [ebp - 0xb4]
jbe 0x458883
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
jmp 0x458895
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
mov ecx, dword [0x6de644]
call fcn.004896e0
test al, al
jne 0x45a442
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
mov ecx, dword [0x6de64c]
call fcn.004896e0
test al, al
jne 0x45a446
mov esi, dword [ebp + 0x10]
push esi
lea eax, [ebp - 0x7c]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x42]
push eax
lea eax, [ebp - 0x41]
push eax
lea eax, [ebp - 0x7c]
push eax
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x80]
call fcn.0042e903
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x7c]
call fcn.00408559
cmp byte [ebp - 0x42], 0
jne 0x459d71
cmp byte [ebp - 0x41], 0
jne 0x459d71
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], 0
jne 0x459d71
push 0x67cbb8
lea eax, [ebp - 0x40]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x1f
push 0x20
pop edi
or dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x50]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], edi
or dword [ebp - 0x1c], 0x40
lea eax, [ebp - 0x40]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cbc0
lea eax, [ebp - 0x48]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x21
add edi, 0x60
or dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x5c]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x22
or dword [ebp - 0x1c], 0x100
lea eax, [ebp - 0x48]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cbc8
lea eax, [ebp - 0x4c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x23
or dword [ebp - 0x1c], 0x200
push esi
lea eax, [ebp - 0x6c]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x24
or dword [ebp - 0x1c], 0x400
lea eax, [ebp - 0x4c]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cbd0
lea eax, [ebp - 0x60]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x25
or dword [ebp - 0x1c], 0x800
push esi
lea eax, [ebp - 0x68]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x26
or dword [ebp - 0x1c], 0x1000
lea eax, [ebp - 0x60]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cbd8
lea eax, [ebp - 0xd0]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x27
or dword [ebp - 0x1c], 0x2000
push esi
lea eax, [ebp - 0x78]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x28
or dword [ebp - 0x1c], 0x4000
lea eax, [ebp - 0xd0]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cbe0
lea eax, [ebp - 0x124]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x29
or dword [ebp - 0x1c], 0x8000
push esi
lea eax, [ebp - 0x74]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x2a
or dword [ebp - 0x1c], 0x10000
lea eax, [ebp - 0x124]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cbe8
lea eax, [ebp - 0x104]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x2b
or dword [ebp - 0x1c], 0x20000
push esi
lea eax, [ebp - 0x70]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x2c
or dword [ebp - 0x1c], 0x40000
lea eax, [ebp - 0x104]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cbf0
lea eax, [ebp - 0x13c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x2d
or dword [ebp - 0x1c], 0x80000
push esi
lea eax, [ebp - 0x160]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x2e
or dword [ebp - 0x1c], 0x100000
lea eax, [ebp - 0x13c]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc00
lea eax, [ebp - 0xfc]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x2f
or dword [ebp - 0x1c], 0x200000
push esi
lea eax, [ebp - 0x158]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x30
or dword [ebp - 0x1c], 0x400000
lea eax, [ebp - 0xfc]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc0c
lea eax, [ebp - 0x11c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x31
or dword [ebp - 0x1c], 0x800000
push esi
lea eax, [ebp - 0x150]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x32
or dword [ebp - 0x1c], 0x1000000
lea eax, [ebp - 0x11c]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc14
lea eax, [ebp - 0xf4]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x33
or dword [ebp - 0x1c], 0x2000000
push esi
lea eax, [ebp - 0x148]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x34
or dword [ebp - 0x1c], 0x4000000
lea eax, [ebp - 0xf4]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc1c
lea eax, [ebp - 0x12c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x35
or dword [ebp - 0x1c], 0x8000000
push esi
lea eax, [ebp - 0x1c4]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x36
or dword [ebp - 0x1c], 0x10000000
lea eax, [ebp - 0x12c]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc24
lea eax, [ebp - 0xec]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x37
or dword [ebp - 0x1c], 0x20000000
push esi
lea eax, [ebp - 0x184]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x38
or dword [ebp - 0x1c], 0x40000000
lea eax, [ebp - 0xec]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc2c
lea eax, [ebp - 0x114]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x39
mov ebx, connect
or dword [ebp - 0x1c], ebx
push esi
lea eax, [ebp - 0x1a4]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x3a
or dword [ebp - 0x18], 1
lea eax, [ebp - 0x114]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc34
lea eax, [ebp - 0xe4]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x3b
or dword [ebp - 0x18], 2
push esi
lea eax, [ebp - 0x17c]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x3c
or dword [ebp - 0x18], 4
lea eax, [ebp - 0xe4]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc3c
lea eax, [ebp - 0x134]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x3d
or dword [ebp - 0x18], 8
push esi
lea eax, [ebp - 0x1b4]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x3e
or dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x134]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc44
lea eax, [ebp - 0xdc]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x3f
or dword [ebp - 0x18], 0x20
push esi
lea eax, [ebp - 0x174]
push eax
call fcn.00408518
mov ecx, eax
push 0x40
pop eax
mov dword [ebp - 4], eax
or dword [ebp - 0x18], eax
lea eax, [ebp - 0xdc]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc4c
lea eax, [ebp - 0xf8]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x41
or dword [ebp - 0x18], edi
push esi
lea eax, [ebp - 0x19c]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x42
or dword [ebp - 0x18], 0x100
lea eax, [ebp - 0xf8]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc54
lea eax, [ebp - 0x10c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x43
or dword [ebp - 0x18], 0x200
push esi
lea eax, [ebp - 0x16c]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x44
or dword [ebp - 0x18], 0x400
lea eax, [ebp - 0x10c]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc5c
lea eax, [ebp - 0x140]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x45
or dword [ebp - 0x18], 0x800
push esi
lea eax, [ebp - 0x1bc]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x46
or dword [ebp - 0x18], 0x1000
lea eax, [ebp - 0x140]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc64
lea eax, [ebp - 0x138]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x47
or dword [ebp - 0x18], 0x2000
push esi
lea eax, [ebp - 0x164]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x48
or dword [ebp - 0x18], 0x4000
lea eax, [ebp - 0x138]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc6c
lea eax, [ebp - 0x130]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x49
or dword [ebp - 0x18], 0x8000
push esi
lea eax, [ebp - 0x194]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x4a
or dword [ebp - 0x18], 0x10000
lea eax, [ebp - 0x130]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc74
lea eax, [ebp - 0x128]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x4b
or dword [ebp - 0x18], 0x20000
push esi
lea eax, [ebp - 0x15c]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x4c
or dword [ebp - 0x18], 0x40000
lea eax, [ebp - 0x128]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc7c
lea eax, [ebp - 0x120]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x4d
or dword [ebp - 0x18], 0x80000
push esi
lea eax, [ebp - 0x1ac]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x4e
or dword [ebp - 0x18], 0x100000
lea eax, [ebp - 0x120]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc84
lea eax, [ebp - 0x118]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x4f
or dword [ebp - 0x18], 0x200000
push esi
lea eax, [ebp - 0x154]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x50
or dword [ebp - 0x18], 0x400000
lea eax, [ebp - 0x118]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc8c
lea eax, [ebp - 0x110]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x51
or dword [ebp - 0x18], 0x800000
push esi
lea eax, [ebp - 0x144]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x52
or dword [ebp - 0x18], 0x1000000
lea eax, [ebp - 0x110]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc94
lea eax, [ebp - 0x108]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x53
or dword [ebp - 0x18], 0x2000000
push esi
lea eax, [ebp - 0x14c]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x54
or dword [ebp - 0x18], 0x4000000
lea eax, [ebp - 0x108]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cc9c
lea eax, [ebp - 0x100]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x55
or dword [ebp - 0x18], 0x8000000
push esi
lea eax, [ebp - 0x1c8]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x56
or dword [ebp - 0x18], 0x10000000
lea eax, [ebp - 0x100]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cca4
lea eax, [ebp - 0xf0]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x57
or dword [ebp - 0x18], 0x20000000
push esi
lea eax, [ebp - 0x1c0]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x58
or dword [ebp - 0x18], 0x40000000
lea eax, [ebp - 0xf0]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67ccac
lea eax, [ebp - 0xe8]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x59
or dword [ebp - 0x18], ebx
push esi
lea eax, [ebp - 0x1b8]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x5a
or dword [ebp - 0x20], 1
lea eax, [ebp - 0xe8]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67ccb4
lea eax, [ebp - 0xe0]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x5b
or dword [ebp - 0x20], 2
push esi
lea eax, [ebp - 0x198]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x5c
or dword [ebp - 0x20], 4
lea eax, [ebp - 0xe0]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67ccbc
lea eax, [ebp - 0xd8]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x5d
or dword [ebp - 0x20], 8
push esi
lea eax, [ebp - 0x190]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x5e
or dword [ebp - 0x20], 0x10
lea eax, [ebp - 0xd8]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67ccc4
lea eax, [ebp - 0xd4]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x5f
or dword [ebp - 0x20], 0x20
push esi
lea eax, [ebp - 0x188]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x60
or dword [ebp - 0x20], 0x40
lea eax, [ebp - 0xd4]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67ccd8
lea eax, [ebp - 0x24]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x61
or dword [ebp - 0x20], edi
push esi
lea eax, [ebp - 0x180]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x62
or dword [ebp - 0x20], 0x100
lea eax, [ebp - 0x24]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cce0
lea eax, [ebp - 0x28]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x63
or dword [ebp - 0x20], 0x200
push esi
lea eax, [ebp - 0x178]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x64
or dword [ebp - 0x20], 0x400
lea eax, [ebp - 0x28]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67cce8
lea eax, [ebp - 0x34]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x65
or dword [ebp - 0x20], 0x800
push esi
lea eax, [ebp - 0x170]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x66
or dword [ebp - 0x20], 0x1000
lea eax, [ebp - 0x34]
call fcn.004753c0
test al, al
jne 0x45943a
push 0x67ccf0
lea eax, [ebp - 0x2c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x67
or dword [ebp - 0x20], 0x2000
push esi
lea eax, [ebp - 0x168]
push eax
call fcn.00408518
mov ecx, eax
mov dword [ebp - 4], 0x68
or dword [ebp - 0x20], 0x4000
lea eax, [ebp - 0x2c]
call fcn.004753c0
test al, al
mov byte [ebp - 0x2e], 0
je 0x45943e
mov byte [ebp - 0x2e], 1
mov dword [ebp - 4], 0x67
test dword [ebp - 0x20], 0x4000
je 0x459460
and dword [ebp - 0x20], 0xffffbfff
lea ecx, [ebp - 0x168]
call fcn.00408559
mov dword [ebp - 4], 0x66
test dword [ebp - 0x20], 0x2000
je 0x45947f
and dword [ebp - 0x20], 0xffffdfff
lea ecx, [ebp - 0x2c]
call fcn.00408559
mov dword [ebp - 4], 0x65
test dword [ebp - 0x20], 0x1000
je 0x4594a1
and dword [ebp - 0x20], 0xffffefff
lea ecx, [ebp - 0x170]
call fcn.00408559
mov dword [ebp - 4], 0x64
test dword [ebp - 0x20], 0x800
je 0x4594c0
and dword [ebp - 0x20], 0xfffff7ff
lea ecx, [ebp - 0x34]
call fcn.00408559
mov dword [ebp - 4], 0x63
test dword [ebp - 0x20], 0x400
je 0x4594e2
and dword [ebp - 0x20], 0xfffffbff
lea ecx, [ebp - 0x178]
call fcn.00408559
mov dword [ebp - 4], 0x62
mov ebx, 0xfffffdff
test dword [ebp - 0x20], 0x200
je 0x459502
and dword [ebp - 0x20], ebx
lea ecx, [ebp - 0x28]
call fcn.00408559
mov dword [ebp - 4], 0x61
mov edi, 0xfffffeff
test dword [ebp - 0x20], 0x100
je 0x459525
and dword [ebp - 0x20], edi
lea ecx, [ebp - 0x180]
call fcn.00408559
mov dword [ebp - 4], 0x60
mov esi, 0xffffff7f
test byte [ebp - 0x20], 0x80
je 0x459542
and dword [ebp - 0x20], esi
lea ecx, [ebp - 0x24]
call fcn.00408559
mov dword [ebp - 4], 0x5f
test byte [ebp - 0x20], 0x40
je 0x45955e
and dword [ebp - 0x20], 0xffffffbf
lea ecx, [ebp - 0x188]
call fcn.00408559
mov dword [ebp - 4], 0x5e
test byte [ebp - 0x20], 0x20
je 0x45957a
and dword [ebp - 0x20], 0xffffffdf
lea ecx, [ebp - 0xd4]
call fcn.00408559
mov dword [ebp - 4], 0x5d
test byte [ebp - 0x20], 0x10
je 0x459596
and dword [ebp - 0x20], 0xffffffef
lea ecx, [ebp - 0x190]
call fcn.00408559
mov dword [ebp - 4], 0x5c
test byte [ebp - 0x20], 8
je 0x4595b2
and dword [ebp - 0x20], 0xfffffff7
lea ecx, [ebp - 0xd8]
call fcn.00408559
mov dword [ebp - 4], 0x5b
test byte [ebp - 0x20], 4
je 0x4595ce
and dword [ebp - 0x20], 0xfffffffb
lea ecx, [ebp - 0x198]
call fcn.00408559
mov dword [ebp - 4], 0x5a
test byte [ebp - 0x20], 2
je 0x4595ea
and dword [ebp - 0x20], 0xfffffffd
lea ecx, [ebp - 0xe0]
call fcn.00408559
mov dword [ebp - 4], 0x59
test byte [ebp - 0x20], 1
je 0x459606
and dword [ebp - 0x20], 0xfffffffe
lea ecx, [ebp - 0x1b8]
call fcn.00408559
mov dword [ebp - 4], 0x58
test dword [ebp - 0x18], 0x80000000
je 0x459628
and dword [ebp - 0x18], 0x7fffffff
lea ecx, [ebp - 0xe8]
call fcn.00408559
mov dword [ebp - 4], 0x57
test dword [ebp - 0x18], 0x40000000
je 0x45964a
and dword [ebp - 0x18], 0xbfffffff
lea ecx, [ebp - 0x1c0]
call fcn.00408559
mov dword [ebp - 4], 0x56
test dword [ebp - 0x18], 0x20000000
je 0x45966c
and dword [ebp - 0x18], 0xdfffffff
lea ecx, [ebp - 0xf0]
call fcn.00408559
mov dword [ebp - 4], 0x55
test dword [ebp - 0x18], 0x10000000
je 0x45968e
and dword [ebp - 0x18], 0xefffffff
lea ecx, [ebp - 0x1c8]
call fcn.00408559
mov dword [ebp - 4], 0x54
test dword [ebp - 0x18], 0x8000000
je 0x4596b0
and dword [ebp - 0x18], 0xf7ffffff
lea ecx, [ebp - 0x100]
call fcn.00408559
mov dword [ebp - 4], 0x53
test dword [ebp - 0x18], 0x4000000
je 0x4596d2
and dword [ebp - 0x18], 0xfbffffff
lea ecx, [ebp - 0x14c]
call fcn.00408559
mov dword [ebp - 4], 0x52
test dword [ebp - 0x18], 0x2000000
je 0x4596f4
and dword [ebp - 0x18], 0xfdffffff
lea ecx, [ebp - 0x108]
call fcn.00408559
mov dword [ebp - 4], 0x51
test dword [ebp - 0x18], 0x1000000
je 0x459716
and dword [ebp - 0x18], 0xfeffffff
lea ecx, [ebp - 0x144]
call fcn.00408559
mov dword [ebp - 4], 0x50
test dword [ebp - 0x18], 0x800000
je 0x459738
and dword [ebp - 0x18], 0xff7fffff
lea ecx, [ebp - 0x110]
call fcn.00408559
mov dword [ebp - 4], 0x4f
test dword [ebp - 0x18], 0x400000
je 0x45975a
and dword [ebp - 0x18], 0xffbfffff
lea ecx, [ebp - 0x154]
call fcn.00408559
mov dword [ebp - 4], 0x4e
test dword [ebp - 0x18], 0x200000
je 0x45977c
and dword [ebp - 0x18], 0xffdfffff
lea ecx, [ebp - 0x118]
call fcn.00408559
mov dword [ebp - 4], 0x4d
test dword [ebp - 0x18], 0x100000
je 0x45979e
and dword [ebp - 0x18], 0xffefffff
lea ecx, [ebp - 0x1ac]
call fcn.00408559
mov dword [ebp - 4], 0x4c
test dword [ebp - 0x18], 0x80000
je 0x4597c0
and dword [ebp - 0x18], 0xfff7ffff
lea ecx, [ebp - 0x120]
call fcn.00408559
mov dword [ebp - 4], 0x4b
test dword [ebp - 0x18], 0x40000
je 0x4597e2
and dword [ebp - 0x18], 0xfffbffff
lea ecx, [ebp - 0x15c]
call fcn.00408559
mov dword [ebp - 4], 0x4a
test dword [ebp - 0x18], 0x20000
je 0x459804
and dword [ebp - 0x18], 0xfffdffff
lea ecx, [ebp - 0x128]
call fcn.00408559
mov dword [ebp - 4], 0x49
test dword [ebp - 0x18], 0x10000
je 0x459826
and dword [ebp - 0x18], 0xfffeffff
lea ecx, [ebp - 0x194]
call fcn.00408559
mov dword [ebp - 4], 0x48
test dword [ebp - 0x18], 0x8000
je 0x459848
and dword [ebp - 0x18], 0xffff7fff
lea ecx, [ebp - 0x130]
call fcn.00408559
mov dword [ebp - 4], 0x47
test dword [ebp - 0x18], 0x4000
je 0x45986a
and dword [ebp - 0x18], 0xffffbfff
lea ecx, [ebp - 0x164]
call fcn.00408559
mov dword [ebp - 4], 0x46
test dword [ebp - 0x18], 0x2000
je 0x45988c
and dword [ebp - 0x18], 0xffffdfff
lea ecx, [ebp - 0x138]
call fcn.00408559
mov dword [ebp - 4], 0x45
test dword [ebp - 0x18], 0x1000
je 0x4598ae
and dword [ebp - 0x18], 0xffffefff
lea ecx, [ebp - 0x1bc]
call fcn.00408559
mov dword [ebp - 4], 0x44
test dword [ebp - 0x18], 0x800
je 0x4598d0
and dword [ebp - 0x18], 0xfffff7ff
lea ecx, [ebp - 0x140]
call fcn.00408559
mov dword [ebp - 4], 0x43
test dword [ebp - 0x18], 0x400
je 0x4598f2
and dword [ebp - 0x18], 0xfffffbff
lea ecx, [ebp - 0x16c]
call fcn.00408559
mov dword [ebp - 4], 0x42
test dword [ebp - 0x18], 0x200
je 0x459910
and dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x10c]
call fcn.00408559
mov dword [ebp - 4], 0x41
test dword [ebp - 0x18], 0x100
je 0x45992e
and dword [ebp - 0x18], edi
lea ecx, [ebp - 0x19c]
call fcn.00408559
mov dword [ebp - 4], 0x40
test byte [ebp - 0x18], 0x80
je 0x459949
and dword [ebp - 0x18], esi
lea ecx, [ebp - 0xf8]
call fcn.00408559
mov dword [ebp - 4], 0x3f
test byte [ebp - 0x18], 0x40
je 0x459965
and dword [ebp - 0x18], 0xffffffbf
lea ecx, [ebp - 0x174]
call fcn.00408559
mov dword [ebp - 4], 0x3e
test byte [ebp - 0x18], 0x20
je 0x459981
and dword [ebp - 0x18], 0xffffffdf
lea ecx, [ebp - 0xdc]
call fcn.00408559
mov dword [ebp - 4], 0x3d
test byte [ebp - 0x18], 0x10
je 0x45999d
and dword [ebp - 0x18], 0xffffffef
lea ecx, [ebp - 0x1b4]
call fcn.00408559
mov dword [ebp - 4], 0x3c
test byte [ebp - 0x18], 8
je 0x4599b9
and dword [ebp - 0x18], 0xfffffff7
lea ecx, [ebp - 0x134]
call fcn.00408559
mov dword [ebp - 4], 0x3b
test byte [ebp - 0x18], 4
je 0x4599d5
and dword [ebp - 0x18], 0xfffffffb
lea ecx, [ebp - 0x17c]
call fcn.00408559
mov dword [ebp - 4], 0x3a
test byte [ebp - 0x18], 2
je 0x4599f1
and dword [ebp - 0x18], 0xfffffffd
lea ecx, [ebp - 0xe4]
call fcn.00408559
mov dword [ebp - 4], 0x39
test byte [ebp - 0x18], 1
je 0x459a0d
and dword [ebp - 0x18], 0xfffffffe
lea ecx, [ebp - 0x1a4]
call fcn.00408559
mov dword [ebp - 4], 0x38
test dword [ebp - 0x1c], 0x80000000
je 0x459a2f
and dword [ebp - 0x1c], 0x7fffffff
lea ecx, [ebp - 0x114]
call fcn.00408559
mov dword [ebp - 4], 0x37
test dword [ebp - 0x1c], 0x40000000
je 0x459a51
and dword [ebp - 0x1c], 0xbfffffff
lea ecx, [ebp - 0x184]
call fcn.00408559
mov dword [ebp - 4], 0x36
test dword [ebp - 0x1c], 0x20000000
je 0x459a73
and dword [ebp - 0x1c], 0xdfffffff
lea ecx, [ebp - 0xec]
call fcn.00408559
mov dword [ebp - 4], 0x35
test dword [ebp - 0x1c], 0x10000000
je 0x459a95
and dword [ebp - 0x1c], 0xefffffff
lea ecx, [ebp - 0x1c4]
call fcn.00408559
mov dword [ebp - 4], 0x34
test dword [ebp - 0x1c], 0x8000000
je 0x459ab7
and dword [ebp - 0x1c], 0xf7ffffff
lea ecx, [ebp - 0x12c]
call fcn.00408559
mov dword [ebp - 4], 0x33
test dword [ebp - 0x1c], 0x4000000
je 0x459ad9
and dword [ebp - 0x1c], 0xfbffffff
lea ecx, [ebp - 0x148]
call fcn.00408559
mov dword [ebp - 4], 0x32
test dword [ebp - 0x1c], 0x2000000
je 0x459afb
and dword [ebp - 0x1c], 0xfdffffff
lea ecx, [ebp - 0xf4]
call fcn.00408559
mov dword [ebp - 4], 0x31
test dword [ebp - 0x1c], 0x1000000
je 0x459b1d
and dword [ebp - 0x1c], 0xfeffffff
lea ecx, [ebp - 0x150]
call fcn.00408559
mov dword [ebp - 4], 0x30
test dword [ebp - 0x1c], 0x800000
je 0x459b3f
and dword [ebp - 0x1c], 0xff7fffff
lea ecx, [ebp - 0x11c]
call fcn.00408559
mov dword [ebp - 4], 0x2f
test dword [ebp - 0x1c], 0x400000
je 0x459b61
and dword [ebp - 0x1c], 0xffbfffff
lea ecx, [ebp - 0x158]
call fcn.00408559
mov dword [ebp - 4], 0x2e
test dword [ebp - 0x1c], 0x200000
je 0x459b83
and dword [ebp - 0x1c], 0xffdfffff
lea ecx, [ebp - 0xfc]
call fcn.00408559
mov dword [ebp - 4], 0x2d
test dword [ebp - 0x1c], 0x100000
je 0x459ba5
and dword [ebp - 0x1c], 0xffefffff
lea ecx, [ebp - 0x160]
call fcn.00408559
mov dword [ebp - 4], 0x2c
test dword [ebp - 0x1c], 0x80000
je 0x459bc7
and dword [ebp - 0x1c], 0xfff7ffff
lea ecx, [ebp - 0x13c]
call fcn.00408559
mov dword [ebp - 4], 0x2b
test dword [ebp - 0x1c], 0x40000
je 0x459be6
and dword [ebp - 0x1c], 0xfffbffff
lea ecx, [ebp - 0x70]
call fcn.00408559
mov dword [ebp - 4], 0x2a
test dword [ebp - 0x1c], 0x20000
je 0x459c08
and dword [ebp - 0x1c], 0xfffdffff
lea ecx, [ebp - 0x104]
call fcn.00408559
mov dword [ebp - 4], 0x29
test dword [ebp - 0x1c], 0x10000
je 0x459c27
and dword [ebp - 0x1c], 0xfffeffff
lea ecx, [ebp - 0x74]
call fcn.00408559
mov dword [ebp - 4], 0x28
test dword [ebp - 0x1c], 0x8000
je 0x459c49
and dword [ebp - 0x1c], 0xffff7fff
lea ecx, [ebp - 0x124]
call fcn.00408559
mov dword [ebp - 4], 0x27
test dword [ebp - 0x1c], 0x4000
je 0x459c68
and dword [ebp - 0x1c], 0xffffbfff
lea ecx, [ebp - 0x78]
call fcn.00408559
mov dword [ebp - 4], 0x26
test dword [ebp - 0x1c], 0x2000
je 0x459c8a
and dword [ebp - 0x1c], 0xffffdfff
lea ecx, [ebp - 0xd0]
call fcn.00408559
mov dword [ebp - 4], 0x25
test dword [ebp - 0x1c], 0x1000
je 0x459ca9
and dword [ebp - 0x1c], 0xffffefff
lea ecx, [ebp - 0x68]
call fcn.00408559
mov dword [ebp - 4], 0x24
test dword [ebp - 0x1c], 0x800
je 0x459cc8
and dword [ebp - 0x1c], 0xfffff7ff
lea ecx, [ebp - 0x60]
call fcn.00408559
mov dword [ebp - 4], 0x23
test dword [ebp - 0x1c], 0x400
je 0x459ce7
and dword [ebp - 0x1c], 0xfffffbff
lea ecx, [ebp - 0x6c]
call fcn.00408559
mov dword [ebp - 4], 0x22
test dword [ebp - 0x1c], 0x200
je 0x459d02
and dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x4c]
call fcn.00408559
mov dword [ebp - 4], 0x21
test dword [ebp - 0x1c], 0x100
je 0x459d1d
and dword [ebp - 0x1c], edi
lea ecx, [ebp - 0x5c]
call fcn.00408559
mov dword [ebp - 4], 0x20
test byte [ebp - 0x1c], 0x80
je 0x459d35
and dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x48]
call fcn.00408559
mov dword [ebp - 4], 0x1f
test byte [ebp - 0x1c], 0x40
je 0x459d4e
and dword [ebp - 0x1c], 0xffffffbf
lea ecx, [ebp - 0x50]
call fcn.00408559
mov dword [ebp - 4], 6
test byte [ebp - 0x1c], 0x20
je 0x459d67
and dword [ebp - 0x1c], 0xffffffdf
lea ecx, [ebp - 0x40]
call fcn.00408559
cmp byte [ebp - 0x2e], 0
je 0x459d71
mov byte [ebp - 0x43], 1
cmp byte [ebp - 0x43], 0
jne 0x459da3
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
lea edx, [ebp - 0x38]
mov ecx, dword [0x6de644]
call fcn.00489580
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], 0
jne 0x45a446
cmp dword [0x6de604], 0
je 0x45a446
push 0
push 0
push 0x6c8420
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
cmp eax, 1
jne 0x45a446
mov esi, dword [ebp + 0xc]
add esi, 0x20
push esi
mov ecx, 0x67ccf8
call fcn.00409d1b
test eax, eax
je 0x459dfd
push esi
mov ecx, 0x67cd04
call fcn.00409d1b
test eax, eax
jne 0x45a446
cmp byte [ebp + 0x30], 0
jne 0x45a446
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x69
lea eax, [ebp - 0x28]
call fcn.0040876a
mov byte [ebp - 0x2f], 1
push 0x67cd10
lea eax, [ebp - 0x60]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x6a
mov esi, 0x8000
or dword [ebp - 0x20], esi
lea eax, [ebp - 0x60]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
jne 0x459ed5
push 0x67cd2c
lea eax, [ebp - 0x4c]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x6b
or dword [ebp - 0x20], 0x10000
lea eax, [ebp - 0x4c]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
jne 0x459ed5
push 0x67cd4c
lea eax, [ebp - 0x48]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x6c
or dword [ebp - 0x20], 0x20000
lea eax, [ebp - 0x48]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
jne 0x459ed5
push str.:windows_servicing
lea eax, [ebp - 0x40]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x6d
or dword [ebp - 0x20], 0x40000
lea eax, [ebp - 0x40]
lea edx, [ebp - 0x28]
call fcn.004763b0
test al, al
jne 0x459ed5
xor bl, bl
jmp 0x459ed7
mov bl, 1
mov dword [ebp - 4], 0x6c
test dword [ebp - 0x20], 0x40000
je 0x459ef6
and dword [ebp - 0x20], 0xfffbffff
lea ecx, [ebp - 0x40]
call fcn.00408559
mov dword [ebp - 4], 0x6b
test dword [ebp - 0x20], 0x20000
je 0x459f15
and dword [ebp - 0x20], 0xfffdffff
lea ecx, [ebp - 0x48]
call fcn.00408559
mov dword [ebp - 4], 0x6a
test dword [ebp - 0x20], 0x10000
je 0x459f34
and dword [ebp - 0x20], 0xfffeffff
lea ecx, [ebp - 0x4c]
call fcn.00408559
mov dword [ebp - 4], 0x69
test dword [ebp - 0x20], esi
je 0x459f4f
and dword [ebp - 0x20], 0xffff7fff
lea ecx, [ebp - 0x60]
call fcn.00408559
test bl, bl
jne 0x459fc7
mov eax, dword [0x6c83d0]
shl eax, 0x14
cdq
mov edi, eax
mov esi, edx
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
lea ecx, [ebp - 0x28]
push ecx
push eax
call fcn.004084e9
mov byte [ebp - 4], 0x6e
mov byte [ebp - 4], 0x69
call fcn.004235f6
pop ecx
cmp edx, esi
jl 0x459f88
jg 0x459fc7
cmp eax, edi
ja 0x459fc7
cmp dword [0x6c83d4], 0
je 0x459fcb
push 0x67cda0
xor ecx, ecx
lea esi, [ebp - 0x28]
call fcn.004260a9
cmp eax, 0xffffffff
jne 0x459fc7
push 0x67cdb0
xor ecx, ecx
call fcn.004260a9
cmp eax, 0xffffffff
jne 0x459fc7
push 0x67cdc0
xor ecx, ecx
call fcn.004260a9
cmp eax, 0xffffffff
je 0x459fcb
mov byte [ebp - 0x2f], 0
push 0x67cdcc
xor ecx, ecx
lea esi, [ebp - 0x28]
call fcn.004260a9
or edi, 0xffffffff
cmp eax, edi
jne 0x45a021
push 0x67cdd8
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x45a021
push 0x67cdec
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x45a021
push 0x67cdfc
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
jne 0x45a021
push 0x67ce0c
xor ecx, ecx
call fcn.004260a9
cmp eax, edi
je 0x45a025
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x45a427
xor ebx, ebx
cmp dword [0x6c8424], ebx
je 0x45a049
lea eax, [ebp - 0x28]
push eax
call fcn.00419c90
test al, al
je 0x45a049
mov byte [ebp - 0x2f], bl
cmp byte [ebp - 0x2f], 0
je 0x45a427
push 0x2e
lea esi, [ebp - 0x28]
call fcn.004260f6
cmp eax, edi
je 0x45a427
lea ecx, [eax + 1]
lea eax, [ebp - 0x24]
push eax
mov edx, esi
call fcn.004261d5
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x24]
call fcn.0040876a
lea eax, [ebp - 0x34]
push eax
call fcn.004084c2
mov byte [ebp - 4], 0x70
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004084e9
mov byte [ebp - 4], 0x71
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x67ce18
call fcn.00409d1b
test eax, eax
je 0x45a0cb
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x67ce20
call fcn.00409d1b
test eax, eax
je 0x45a0cb
lea eax, [ebp - 0x2c]
call fcn.00426114
jmp 0x45a0d9
push 0x67ce28
lea eax, [ebp - 0x2c]
push eax
call fcn.004085bd
cmp dword [0x6c83c8], ebx
je 0x45a226
cmp dword [0x6de558], 1
jne 0x45a156
push 0x67ce44
lea eax, [ebp - 0x6c]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
mov esi, eax
call fcn.00413865
mov byte [ebp - 4], 0x73
push 0x67ce30
lea ecx, [ebp - 0x50]
push ecx
mov ecx, eax
call fcn.0040fcd8
add esp, 0x10
mov byte [ebp - 4], 0x74
lea edi, [ebp - 0x34]
call fcn.0040857c
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x50]
call fcn.00408559
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x5c]
call fcn.00408559
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x6c]
call fcn.00408559
mov eax, dword [ebp - 0x34]
cmp dword [eax - 0xc], ebx
jne 0x45a226
xor bl, bl
mov eax, 0x6de9e4
mov dword [ebp - 0x70], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x75
xor edi, edi
mov dword [ebp - 0x1a0], edi
mov eax, dword [0x6dea2c]
sub eax, dword [0x6dea28]
sar eax, 2
cmp edi, eax
jae 0x45a1ad
mov esi, 0x6dea1c
call fcn.00413f62
push dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.004085f9
test eax, eax
je 0x45a1b1
inc edi
jmp 0x45a179
test bl, bl
je 0x45a219
push str.Malware.
lea eax, [ebp - 0x74]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x78]
push ecx
mov esi, eax
call fcn.00413865
mov byte [ebp - 4], 0x77
push str..DeepDive
lea ecx, [ebp - 0x68]
push ecx
mov ecx, eax
call fcn.0040fcd8
add esp, 0x10
mov byte [ebp - 4], 0x78
lea edi, [ebp - 0x34]
call fcn.0040857c
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x68]
call fcn.00408559
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x78]
call fcn.00408559
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x74]
call fcn.00408559
mov byte [ebp - 4], 0x71
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x6de608], 0
je 0x45a36b
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ce80
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ce88
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ce90
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ce98
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cea0
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cea8
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ceb0
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ceb8
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cec0
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cec8
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ced0
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67ced8
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cee0
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cee8
call fcn.00409d1b
test eax, eax
je 0x45a35d
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cef0
call fcn.00409d1b
test eax, eax
jne 0x45a36b
push 0x67cef8
lea eax, [ebp - 0x34]
push eax
call fcn.004085bd
mov eax, dword [ebp - 0x34]
cmp dword [eax - 0xc], 0
je 0x45a403
mov byte [ebp - 4], 0x79
cmp byte [ebp - 0x41], 0
jne 0x45a3fc
cmp byte [ebp - 0x42], 0
jne 0x45a3fc
push 0x1b7740
push dword [0x6de668]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, 0x6de8f0
mov dword [ebp - 0x68], esi
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x7a
push 0x6de8ec
call fcn.00431848
test al, al
je 0x45a3f1
lea eax, [ebp - 0x28]
push eax
call fcn.00431705
test al, al
jne 0x45a3f1
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x67cf20
call fcn.00409d1b
test eax, eax
jne 0x45a3e6
push dword [ebp - 0x28]
call fcn.0042363d
pop ecx
test al, al
je 0x45a3f1
push dword [ebp - 0x34]
lea eax, [ebp - 0x38]
call fcn.00413620
mov byte [ebp - 4], 0x79
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0x71
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x2c]
call fcn.00408559
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x34]
call fcn.00408559
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x24]
call fcn.00408559
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
call fcn.00408559
jmp 0x45a446
mov byte [ebp - 0x55], 1
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x18], 0x3e8
je 0x45a52d
mov eax, dword [ebp - 0x38]
xor ebx, ebx
cmp dword [eax - 0xc], ebx
jne 0x45a52f
cmp dword [ebp + 0x28], ebx
jl 0x45a52f
jg 0x45a478
cmp dword [ebp + 0x24], ebx
jbe 0x45a52f
cmp dword [ebp + 0x28], 0xffffffff
ja 0x45a52f
jb 0x45a48e
cmp dword [ebp + 0x24], 0xffffffff
jae 0x45a52f
cmp dword [0x6c83bc], ebx
je 0x45a52f
mov byte [ebp - 0x61], 0
lea eax, [ebp - 0x61]
push eax
push ebx
push dword [ebp + 0x24]
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.0040fbd7
mov byte [ebp - 4], 0x7c
lea edi, [ebp - 0x38]
call fcn.0040843b
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x50]
call fcn.00408418
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], ebx
je 0x45a52f
push 0x6de62c
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push dword [0x6de62c]
push ecx
mov eax, esp
mov dword [ebp - 0x5c], esp
push 0x67cf28
push eax
call fcn.00408518
mov byte [ebp - 4], 0x7d
mov byte [ebp - 4], 6
call fcn.0042d5aa
push 0x67cf40
lea eax, [ebp - 0x50]
push eax
mov esi, edi
call fcn.00413787
pop ecx
pop ecx
mov byte [ebp - 4], 0x7e
call fcn.0040843b
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x50]
call fcn.00408418
mov esi, dword [ebp + 0xc]
jmp 0x45a52f
xor ebx, ebx
cmp dword [esi + 0x18], 0x3e8
je 0x45a596
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], ebx
jne 0x45a596
cmp dword [ebp + 0x28], ebx
jl 0x45a596
jg 0x45a54c
cmp dword [ebp + 0x24], ebx
jbe 0x45a596
cmp dword [ebp + 0x28], 0xffffffff
ja 0x45a596
jb 0x45a55a
cmp dword [ebp + 0x24], 0xffffffff
jae 0x45a596
push dword [ebp + 0x24]
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00472f1f
mov byte [ebp - 4], 0x7f
lea edi, [ebp - 0x38]
call fcn.0040843b
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x50]
call fcn.00408418
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], ebx
je 0x45a596
push str.Ransomware.
mov eax, edi
push eax
call fcn.0042f58d
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], ebx
je 0x45aa09
push dword [ebp + 0x10]
lea eax, [ebp - 0x2c]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x80
lea eax, [ebp - 0x2c]
call fcn.0040876a
lea ebx, [esi + 0x128]
mov eax, dword [ebx + 0x18]
and dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00413ec6
lea edi, [ebp - 0x90]
mov esi, eax
call fcn.00469749
test al, al
je 0x45a9fa
lea eax, [ebp - 0x2c]
push eax
push ebx
lea ebx, [ebp - 0x94]
call fcn.00413dea
push dword [ebp + 0x10]
lea eax, [ebp - 0x74]
push eax
call fcn.00474d20
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0x81
mov ebx, dword [ebp + 0xc]
lea edi, [ebx + 0x148]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x78]
push eax
mov esi, edi
call fcn.00413735
mov byte [ebp - 4], 0x82
push 0x67cf54
lea ecx, [ebp - 0x68]
push ecx
mov esi, eax
call fcn.00413787
mov byte [ebp - 4], 0x83
push dword [ebp - 0x50]
lea ecx, [ebp - 0x6c]
push ecx
mov esi, eax
call fcn.00413735
mov byte [ebp - 4], 0x84
push 0x67cf50
lea ecx, [ebp - 0x5c]
push ecx
mov esi, eax
call fcn.00413787
add esp, 0x28
mov byte [ebp - 4], 0x85
call fcn.0040843b
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x5c]
call fcn.00408418
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x6c]
call fcn.00408418
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x68]
call fcn.00408418
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x78]
call fcn.00408418
mov byte [ebp - 4], 0x80
lea ecx, [ebp - 0x74]
call fcn.00408418
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0041baa0
pop ecx
pop ecx
mov byte [ebp - 4], 0x86
mov edi, dword [ebp + 8]
call fcn.0040857c
mov byte [ebp - 4], 0x80
lea ecx, [ebp - 0x70]
call fcn.00408559
push edi
call fcn.00452e3c
pop ecx
lea eax, [ebp - 0xcc]
push eax
call fcn.00452a15
mov byte [ebp - 4], 0x87
mov eax, dword [ebp + 0x2c]
xor ebx, ebx
cmp dword [eax - 0xc], ebx
je 0x45a704
lea eax, [ebp + 0x2c]
jmp 0x45a71b
push dword [ebp + 0x10]
lea eax, [ebp - 0x50]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x88
or dword [ebp - 0x20], 0x80000
lea edi, [ebp - 0xcc]
call fcn.0040857c
mov dword [ebp - 4], 0x87
test dword [ebp - 0x20], 0x80000
je 0x45a745
and dword [ebp - 0x20], 0xfff7ffff
lea ecx, [ebp - 0x50]
call fcn.00408559
mov eax, dword [ebp + 8]
lea edi, [ebp - 0xb0]
call fcn.0040857c
cmp dword [ebp + 0x1c], ebx
je 0x45a774
lea eax, [ebp - 0xc8]
push eax
push dword [ebp + 0x1c]
lea eax, [ebp - 0xcc]
push eax
push dword [ebp + 0xc]
call fcn.00457b5d
add esp, 0x10
lea eax, [ebp - 0xcc]
push eax
mov esi, dword [ebp + 0x18]
add esi, 0x1c
call fcn.00468c71
cmp byte [ebp + 0x20], bl
jne 0x45a79f
push ebx
push ebx
push 0x6c83ec
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
mov byte [ebp - 0x34], bl
jne 0x45a7a3
mov byte [ebp - 0x34], 1
push ebx
push dword [ebp - 0x34]
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
push dword [ebp + 8]
push eax
call fcn.004084e9
mov byte [ebp - 4], 0x89
push ecx
mov eax, esp
mov dword [ebp - 0x5c], esp
lea ecx, [ebp - 0xcc]
push ecx
push eax
call fcn.004084e9
mov byte [ebp - 4], 0x8a
push dword [ebp + 0xc]
mov byte [ebp - 4], 0x87
mov ebx, dword [ebp + 0x18]
call fcn.004579b3
add esp, 0x14
push 0x6de620
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
xor edi, edi
mov dword [ebp - 0x1a8], edi
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0xbc]
sar eax, 2
cmp edi, eax
jae 0x45a866
push 0x6de61c
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call esi
push 0x6de620
call esi
push 0
push dword [ebp - 0x34]
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
push dword [ebp + 8]
push eax
call fcn.004084e9
mov byte [ebp - 4], 0x8b
lea esi, [ebp - 0xc8]
call fcn.00413f62
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
push eax
push ecx
call fcn.004084e9
mov byte [ebp - 4], 0x8c
push dword [ebp + 0xc]
mov byte [ebp - 4], 0x87
mov ebx, dword [ebp + 0x18]
call fcn.004579b3
add esp, 0x14
inc edi
jmp 0x45a7f0
push dword [0x6de620]
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
push 0x67cf58
push eax
call fcn.00408518
mov byte [ebp - 4], 0x8d
mov byte [ebp - 4], 0x87
call fcn.0042d5aa
cmp byte [ebp + 0x20], 0
jne 0x45a8a7
push 0
push 0
push 0x6c83ec
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
jne 0x45a9ea
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0xbc]
sar ecx, 2
inc ecx
mov eax, dword [ebp + 0xc]
add dword [eax + 0x40], ecx
push 1
mov esi, dword [ebp + 8]
call fcn.00408793
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x50], esp
push eax
call fcn.00408172
mov byte [ebp - 4], 0x8e
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5c], esp
mov edi, dword [ebp + 0x10]
push edi
call fcn.00408172
mov byte [ebp - 4], 0x8f
mov byte [ebp - 4], 0x87
call fcn.0045453d
add esp, 0x3c
mov byte [ebp - 0x2e], 0
push edi
lea eax, [ebp - 0x40]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x90
push dword [ebp + 8]
lea esi, [ebp - 0x40]
call fcn.00423e5f
pop ecx
mov bl, al
neg bl
sbb bl, bl
inc bl
mov byte [ebp - 4], 0x87
mov ecx, esi
call fcn.00408559
test bl, bl
je 0x45a9d4
push 0x67cf70
lea eax, [ebp - 0x40]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x91
lea eax, [ebp - 0x40]
mov ecx, dword [ebp + 8]
call fcn.004753c0
mov bl, al
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x40]
call fcn.00408559
test bl, bl
je 0x45a984
lea eax, [ebp - 0x2e]
push eax
push 1
push dword [ebp + 0x24]
lea eax, [ebp - 0x50]
push eax
mov ecx, edi
call fcn.0040fbd7
lea ecx, [ebp - 0x50]
call fcn.00408418
cmp byte [ebp - 0x2e], 0
jne 0x45a98b
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor edi, edi
mov dword [ebp - 0x1b0], edi
mov eax, dword [ebp - 0xb8]
mov ecx, eax
sub ecx, dword [ebp - 0xbc]
sar ecx, 2
cmp edi, ecx
jae 0x45a9da
lea esi, [ebp - 0xc8]
call fcn.00413f62
push eax
call fcn.00420682
pop ecx
test al, al
je 0x45a9d1
push 1
push dword [ebp + 8]
call fcn.00413f62
push eax
call fcn.004206ed
add esp, 0xc
inc edi
jmp 0x45a98d
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0xbc]
sar eax, 2
inc eax
mov ecx, dword [ebp + 0x18]
add dword [ecx + 8], eax
mov byte [ebp - 4], 0x80
lea eax, [ebp - 0xcc]
push eax
call fcn.0045ac2b
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
call fcn.00408559
mov esi, dword [ebp + 0xc]
cmp byte [ebp + 0x14], 0
je 0x45aa2c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax - 0xc]
push dword [esi]
test eax, eax
setne al
movzx eax, al
push eax
call fcn.004531fb
pop ecx
pop ecx
inc dword [esi + 0x28]
cmp byte [ebp - 0x43], 0
je 0x45abdb
cmp byte [ebp + 0x34], 0
jne 0x45abdb
cmp byte [ebp - 0x55], 0
jne 0x45abdb
mov eax, dword [ebp - 0x38]
cmp dword [eax - 0xc], 0
jne 0x45abdb
lea eax, [ebp - 0xa4]
push eax
call fcn.00452b77
mov byte [ebp - 4], 0x92
push dword [ebp + 0x10]
lea eax, [ebp - 0xa4]
push eax
call fcn.004085bd
mov eax, dword [ebp - 0xa4]
cmp dword [eax - 0xc], 0
je 0x45ab0a
push dword [ebp + 0x10]
lea eax, [ebp - 0x4c]
push eax
call fcn.00408518
mov byte [ebp - 4], 0x93
or dword [ebp - 0x20], 0x100000
lea eax, [ebp - 0x50]
push eax
call fcn.004740f0
pop ecx
mov dword [ebp - 4], 0x94
or dword [ebp - 0x20], 0x200000
lea edx, [ebp - 0x4c]
call fcn.004763b0
test al, al
jne 0x45ab0a
push 0x67cf78
lea eax, [ebp - 0x48]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x95
or dword [ebp - 0x20], 0x400000
push dword [ebp + 0x10]
lea eax, [ebp - 0x40]
push eax
call fcn.00408518
mov dword [ebp - 4], 0x96
or dword [ebp - 0x20], 0x800000
lea eax, [ebp - 0x48]
lea edx, [ebp - 0x40]
call fcn.004763b0
test al, al
jne 0x45ab0a
mov bl, 1
jmp 0x45ab0c
xor bl, bl
mov dword [ebp - 4], 0x95
test dword [ebp - 0x20], 0x800000
je 0x45ab2b
and dword [ebp - 0x20], 0xff7fffff
lea ecx, [ebp - 0x40]
call fcn.00408559
mov dword [ebp - 4], 0x94
test dword [ebp - 0x20], 0x400000
je 0x45ab4a
and dword [ebp - 0x20], 0xffbfffff
lea ecx, [ebp - 0x48]
call fcn.00408559
mov dword [ebp - 4], 0x93
test dword [ebp - 0x20], 0x200000
je 0x45ab69
and dword [ebp - 0x20], 0xffdfffff
lea ecx, [ebp - 0x50]
call fcn.00408559
mov dword [ebp - 4], 0x92
test dword [ebp - 0x20], 0x100000
je 0x45ab88
and dword [ebp - 0x20], 0xffefffff
lea ecx, [ebp - 0x4c]
call fcn.00408559
test bl, bl
je 0x45abcb
lea eax, [ebp - 0x38]
lea edi, [ebp - 0xa0]
call fcn.0040843b
lea ebx, [esi + 0x110]
mov dword [ebp - 0x50], ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x97
lea eax, [ebp - 0xa4]
push eax
lea edi, [esi + 0xf4]
call fcn.00468f0f
mov byte [ebp - 4], 0x92
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 4], 6
lea eax, [ebp - 0xa4]
push eax
call fcn.0045ac69
mov byte [ebp - 4], 5
cmp dword [ebp - 0x80], 0xffffffff
je 0x45abee
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.00408418
jmp 0x45ac02
mov eax, dword [ebp + 0xc]
inc dword [eax + 0x44]
mov dword [ebp - 4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x2c]
call fcn.00408559
mov eax, dword [ebp + 8]
call fcn.00587133
ret