Function at 0x89dcc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3b0
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x8ab160
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.008aa8a0
mov ecx, dword [0xa584b8]
add ecx, dword [0xa570f8]
mov esi, eax
add ecx, dword [0xa570cc]
mov eax, dword [0xa587a8]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + eax*4]
cmp ecx, dword [eax + 0x26828]
jg 0x89dd36
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x3b0
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov dword [esp], 0xa584b8
call fcn.008ea32a
mov eax, dword [0xa584b8]
add eax, dword [0xa56df8]
cmp eax, 0xffffffff
jne 0x89dd21
nop
mov dword [ebp - 0x20], esi
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b0], 3
lea eax, [ebp - 0x2ac]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0xcc], ecx
mov byte [ebp - 0x4a], 1
mov dword [ebp - 0x10], 0
movzx ecx, byte [ebp - 0x380]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x2c0]
mov dword [esp], eax
lea ecx, [ebp - 0x160]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x1f0], 0x13
lea ecx, [ebp - 0x1ec]
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0xc8], eax
mov byte [ebp - 0x49], 1
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x160]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x100], 2
movzx eax, byte [0xa42b85]
cmp al, 0x13
je 0x89de60
mov cl, 0xdc
mov al, 0x33
lock cmpxchg byte [0xa42b85], cl
je 0x89de31
cmp al, 0x13
jne 0x89de1f
jmp 0x89de60
nop
movdqa xmm0, xmmword [0xa42b80]
paddb xmm0, xmmword [0x9b9be0]
movd dword [0xa42b80], xmm0
add byte [0xa42b84], 0xc0
mov al, 0x13
xchg byte [0xa42b85], al
mov dword [ebp - 0x10], 0x1f
lea ecx, [ebp - 0x380]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x10], 0x1f
mov dword [esp], 0xa42b80
call fcn.0076f010
sub esp, 4
nop
movzx eax, byte [0xa42b95]
cmp al, 0x76
je 0x89dece
mov cl, 0xeb
mov al, 7
lock cmpxchg byte [0xa42b95], cl
je 0x89de9f
cmp al, 0x76
jne 0x89de8d
jmp 0x89dece
nop
movdqa xmm0, xmmword [0xa42b90]
paddb xmm0, xmmword [0x9b9bf0]
movd dword [0xa42b90], xmm0
add byte [0xa42b94], 0xc8
mov al, 0x76
xchg byte [0xa42b95], al
mov dword [ebp - 0x10], 0x1f
lea ecx, [ebp - 0x368]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x10], 0x1f
mov dword [esp], 0xa42b90
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0xfc]
lea eax, [ebp - 0x350]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov byte [ebp - 0x2c], 1
lea edx, [ebp - 0x100]
mov dword [ebp - 0x74], edx
lea edx, [ebp - 0x1e0]
mov dword [ebp - 0x78], edx
mov byte [ebp - 0x2d], 1
mov dword [ebp - 0x10], 3
movzx edx, byte [ebp - 0x350]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x380]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0xf0], 3
mov dword [ebp - 0xec], 3
movzx eax, byte [0xa42bb9]
cmp al, 0x4c
je 0x89e00b
mov cl, 0xd3
mov al, 0x97
lock cmpxchg byte [0xa42bb9], cl
je 0x89df90
cmp al, 0x4c
jne 0x89df7e
jmp 0x89e00b
xor ebx, ebx
mov dword [ebp - 0x24], 0x4740e138
mov esi, 0x4740e136
mov ecx, 0x4ec4ec4f
nop
mov eax, dword [ebp - 0x24]
mul ecx
mov edi, edx
mov eax, esi
mul ecx
shr edx, 3
imul eax, edx, 0xffffffe6
movzx edx, byte [ebx + 0xa42ba0]
xor dl, byte [eax + ebx + 0x47dc81f7]
xor dl, 0x4c
mov byte [ebx + 0xa42ba0], dl
cmp ebx, 0x18
je 0x89dffc
shr edi, 3
imul eax, edi, 0xffffffe6
lea eax, [eax + 0x47dc81f8]
movzx edx, byte [ebx + 0xa42ba1]
xor dl, byte [eax + ebx]
xor dl, 0x4c
mov byte [ebx + 0xa42ba1], dl
add ebx, 2
add dword [ebp - 0x24], 2
add esi, 2
jmp 0x89dfa3
mov al, 0x4c
xchg byte [0xa42bb9], al
mov dword [ebp - 0x10], 0x1e
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x10], 0x1e
mov dword [esp], 0xa42ba0
call fcn.0076f010
sub esp, 4
nop
movzx eax, byte [0xa42bea]
cmp al, 0x13
je 0x89e0a7
mov cl, 0xcc
mov al, 0xbd
lock cmpxchg byte [0xa42bea], cl
je 0x89e04a
cmp al, 0x13
jne 0x89e038
jmp 0x89e0a7
mov ecx, 0xffffffd6
lea esi, [0x912bd940]
mov edi, 0x6f6fc7c8
lea ebx, [0x912bd941]
mov eax, edi
shr eax, 1
mov edx, 0x30c30c31
mul edx
shr edx, 2
imul eax, edx, 0x2a
movzx edx, byte [ebx + eax]
xor dl, 0x40
add byte [ecx + 0xa42bea], dl
movzx eax, byte [esi + eax]
xor al, 0x40
add byte [ecx + 0xa42beb], al
add esi, 0xfffffffe
add edi, 2
add ebx, 0xfffffffe
add ecx, 2
jne 0x89e060
mov al, 0x13
xchg byte [0xa42bea], al
mov dword [ebp - 0x10], 0x1e
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x10], 0x1e
mov dword [esp], 0xa42bc0
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0xe8]
lea eax, [ebp - 0x320]
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
mov byte [ebp - 0x45], 1
lea edx, [ebp - 0x1e0]
mov dword [ebp - 0xbc], edx
mov byte [ebp - 0x46], 1
mov dword [ebp - 0x10], 4
movzx edx, byte [ebp - 0x2ac]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x350]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0xdc], 0xa
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0xb8], ecx
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x10], 5
movzx ecx, byte [ebp - 0x2ac]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x100]
mov dword [esp], eax
lea ecx, [ebp - 0x154]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x1e0], 5
lea ecx, [ebp - 0x1dc]
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x2b], 1
mov dword [ebp - 0x10], 6
lea eax, [ebp - 0x154]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x27c], 2
movzx eax, byte [0xa42bfd]
cmp al, 0xce
je 0x89e274
mov cl, 2
mov al, 0x7f
lock cmpxchg byte [0xa42bfd], cl
je 0x89e1fb
cmp al, 0xce
jne 0x89e1e9
jmp 0x89e274
xor ebx, ebx
mov dword [ebp - 0x24], 0xfb547bb3
mov esi, 0xfb547bb2
mov ecx, 0x4ec4ec4f
nop
mov eax, dword [ebp - 0x24]
mul ecx
mov edi, edx
mov eax, esi
mul ecx
shr edx, 2
imul eax, edx, 0xfffffff3
movzx edx, byte [ebx + 0xa42bf0]
xor dl, byte [eax + ebx - 0x40fe33e]
xor dl, 0x19
mov byte [ebx + 0xa42bf0], dl
cmp ebx, 0xc
je 0x89e265
shr edi, 2
imul eax, edi, 0xfffffff3
movzx edx, byte [ebx + 0xa42bf1]
xor dl, byte [eax + ebx - 0x40fe33d]
xor dl, 0x19
mov byte [ebx + 0xa42bf1], dl
add ebx, 2
add dword [ebp - 0x24], 2
add esi, 2
jmp 0x89e20e
mov al, 0xce
xchg byte [0xa42bfd], al
mov dword [ebp - 0x10], 6
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x2b], 1
mov dword [ebp - 0x10], 6
mov dword [esp], 0xa42bf0
lea ecx, [ebp - 0x3b0]
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0x278]
lea eax, [ebp - 0x398]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0xb4], edx
mov byte [ebp - 0x43], 1
mov dword [ebp - 0x10], 7
movzx edx, byte [ebp - 0x2ac]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x3b0]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0x26c], 3
lea eax, [ebp - 0x268]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0xb0], ecx
mov byte [ebp - 0x42], 1
mov dword [ebp - 0x10], 8
movzx ecx, byte [ebp - 0x2ac]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x27c]
mov dword [esp], eax
lea ecx, [ebp - 0x148]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x1d0], 8
lea ecx, [ebp - 0x1cc]
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x2a], 1
mov dword [ebp - 0x10], 9
lea eax, [ebp - 0x148]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x268], 2
movzx eax, byte [0xa42c0a]
cmp al, 0x5f
je 0x89e400
mov cl, 0xd2
mov al, 0x57
lock cmpxchg byte [0xa42c0a], cl
je 0x89e3ca
cmp al, 0x5f
jne 0x89e3b8
jmp 0x89e400
nop
movq xmm0, qword [0xa42c00]
pxor xmm0, xmmword [0x9b9c00]
movq qword [0xa42c00], xmm0
xor byte [0xa42c08], 5
xor byte [0xa42c09], 0x93
mov al, 0x5f
xchg byte [0xa42c0a], al
mov dword [ebp - 0x10], 9
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x2a], 1
mov dword [ebp - 0x10], 9
mov dword [esp], 0xa42c00
lea ecx, [ebp - 0x398]
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0x264]
lea eax, [ebp - 0x380]
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
lea edx, [ebp - 0x1c0]
mov dword [ebp - 0xac], edx
mov byte [ebp - 0x41], 1
mov dword [ebp - 0x10], 0xa
movzx edx, byte [ebp - 0x2ac]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x398]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0x258], 0xa
lea eax, [ebp - 0x254]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0xa8], ecx
mov byte [ebp - 0x40], 1
mov dword [ebp - 0x10], 0xb
movzx ecx, byte [ebp - 0x2ac]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x268]
mov dword [esp], eax
lea ecx, [ebp - 0x13c]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x1c0], 0xc
lea ecx, [ebp - 0x1bc]
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x29], 1
mov dword [ebp - 0x10], 0xc
lea eax, [ebp - 0x13c]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x254], 2
movzx eax, byte [0xa42c1b]
cmp al, 0x11
je 0x89e593
mov cl, 0x16
mov al, 0xac
lock cmpxchg byte [0xa42c1b], cl
je 0x89e556
cmp al, 0x11
jne 0x89e544
jmp 0x89e593
nop
movq xmm0, qword [0xa42c10]
pxor xmm0, xmmword [0x9b9c10]
movq qword [0xa42c10], xmm0
xor byte [0xa42c18], 0x2e
xor byte [0xa42c19], 1
xor byte [0xa42c1a], 0x1d
mov al, 0x11
xchg byte [0xa42c1b], al
mov dword [ebp - 0x10], 0xd
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x10], 0xd
mov dword [esp], 0xa42c10
call fcn.0076f010
sub esp, 4
nop
movzx eax, byte [0xa42c2b]
cmp al, 0x3f
je 0x89e612
mov cl, 0x82
mov al, 0x37
lock cmpxchg byte [0xa42c2b], cl
je 0x89e5d5
cmp al, 0x3f
jne 0x89e5c3
jmp 0x89e612
nop
movq xmm0, qword [0xa42c20]
pxor xmm0, xmmword [0x9b9c20]
movq qword [0xa42c20], xmm0
xor byte [0xa42c28], 0x58
xor byte [0xa42c29], 0x1c
xor byte [0xa42c2a], 0x8a
mov al, 0x3f
xchg byte [0xa42c2b], al
mov dword [ebp - 0x10], 0xd
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x10], 0xd
mov dword [esp], 0xa42c20
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
lea edx, [ebp - 0x1b0]
mov dword [ebp - 0xa4], edx
mov byte [ebp - 0x3f], 1
mov dword [ebp - 0x10], 0xe
movzx edx, byte [ebp - 0x320]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x2ac]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0x244], 0xa
lea eax, [ebp - 0x240]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0xa0], ecx
mov byte [ebp - 0x3e], 1
mov dword [ebp - 0x10], 0xf
movzx ecx, byte [ebp - 0x320]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x254]
mov dword [esp], eax
lea ecx, [ebp - 0x130]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x1b0], 3
lea ecx, [ebp - 0x1ac]
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x28], 1
mov dword [ebp - 0x10], 0x10
lea eax, [ebp - 0x130]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x240], 3
movzx eax, byte [0xa42c41]
cmp al, 0x3b
je 0x89e7bb
mov cl, 0x52
mov al, 0x11
lock cmpxchg byte [0xa42c41], cl
je 0x89e761
cmp al, 0x3b
jne 0x89e74f
jmp 0x89e7bb
mov eax, 7
lea ecx, [eax - 1]
and ecx, 0xe
xor ecx, 0xf
movzx edx, byte [eax + 0xa42c29]
xor dl, byte [ecx + 0x9ba120]
xor dl, 0xb0
mov byte [eax + 0xa42c29], dl
cmp eax, 0x17
je 0x89e7ac
mov ecx, eax
not ecx
and ecx, 0xe
movzx edx, byte [eax + 0xa42c2a]
xor dl, byte [ecx + 0x9ba120]
xor dl, 0xb0
mov byte [eax + 0xa42c2a], dl
add eax, 2
jmp 0x89e766
mov al, 0x3b
xchg byte [0xa42c41], al
mov dword [ebp - 0x10], 0x10
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x28], 1
mov dword [ebp - 0x10], 0x10
mov dword [esp], 0xa42c30
lea ecx, [ebp - 0x320]
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0x23c]
lea eax, [ebp - 0x308]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
lea edx, [ebp - 0x1a0]
mov dword [ebp - 0x9c], edx
mov byte [ebp - 0x3d], 1
mov dword [ebp - 0x10], 0x11
movzx edx, byte [ebp - 0x308]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x320]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0x230], 0xa
lea eax, [ebp - 0x22c]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x98], ecx
mov byte [ebp - 0x3c], 1
mov dword [ebp - 0x10], 0x12
movzx ecx, byte [ebp - 0x308]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x240]
mov dword [esp], eax
lea ecx, [ebp - 0x124]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x1a0], 0xd
lea ecx, [ebp - 0x19c]
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x27], 1
mov dword [ebp - 0x10], 0x13
lea eax, [ebp - 0x124]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x22c], 2
movzx eax, byte [0xa42c5d]
cmp al, 0xb9
je 0x89e9b3
mov cl, 0x29
mov al, 0x9f
lock cmpxchg byte [0xa42c5d], cl
je 0x89e918
cmp al, 0xb9
jne 0x89e903
jmp 0x89e9b3
mov ebx, 0xfffffff4
lea eax, [0xba7875a8]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x24], 0x46232b92
lea eax, [0xba7875a9]
mov dword [ebp - 0x34], eax
mov esi, 0x46232b91
nop
mov eax, dword [ebp - 0x24]
mov ecx, 0xba2e8ba3
mul ecx
mov edi, edx
mov eax, esi
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
lea eax, [edx + eax*2]
movzx edx, byte [ebx + 0xa42c5c]
mov ecx, dword [ebp - 0x34]
xor dl, byte [ecx + eax]
xor dl, 0x31
mov byte [ebx + 0xa42c5c], dl
test ebx, ebx
je 0x89e9a4
shr edi, 3
lea eax, [edi + edi*4]
lea eax, [edi + eax*2]
movzx edx, byte [ebx + 0xa42c5d]
mov edi, dword [ebp - 0x50]
xor dl, byte [edi + eax]
xor dl, 0x31
mov byte [ebx + 0xa42c5d], dl
add ebx, 2
add edi, 0xfffffffe
mov dword [ebp - 0x50], edi
add dword [ebp - 0x24], 2
add dword [ebp - 0x34], 0xfffffffe
add esi, 2
jmp 0x89e93b
mov al, 0xb9
xchg byte [0xa42c5d], al
mov dword [ebp - 0x10], 0x13
lea eax, [ebp - 0x190]
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x27], 1
mov dword [ebp - 0x10], 0x13
mov dword [esp], 0xa42c50
lea ecx, [ebp - 0x308]
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0x228]
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
lea edx, [ebp - 0x190]
mov dword [ebp - 0x94], edx
mov byte [ebp - 0x3b], 1
mov dword [ebp - 0x10], 0x14
movzx edx, byte [ebp - 0x2f0]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x308]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0x21c], 0xa
lea eax, [ebp - 0x218]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x90], ecx
mov byte [ebp - 0x3a], 1
mov dword [ebp - 0x10], 0x15
movzx ecx, byte [ebp - 0x2f0]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x22c]
mov dword [esp], eax
lea ecx, [ebp - 0x118]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x190], 2
lea ecx, [ebp - 0x18c]
lea eax, [ebp - 0x190]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x26], 1
mov dword [ebp - 0x10], 0x16
lea eax, [ebp - 0x118]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x218], 2
movzx eax, byte [0xa42c6d]
cmp al, 0x7b
je 0x89eb9f
mov cl, 0xd5
mov al, 0xd7
lock cmpxchg byte [0xa42c6d], cl
je 0x89eb10
cmp al, 0x7b
jne 0x89eafb
jmp 0x89eb9f
mov ebx, 0xfffffff4
lea eax, [0x6cb79f15]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x24], 0x93e4023b
lea eax, [0x6cb79f16]
mov dword [ebp - 0x34], eax
mov esi, 0x93e4023a
mov ecx, 0xf0f0f0f1
nop
mov eax, dword [ebp - 0x24]
mul ecx
mov edi, edx
mov eax, esi
mul ecx
mov eax, edx
shr eax, 4
and edx, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + edx]
xor al, 0xf0
add byte [ebx + 0xa42c6c], al
test ebx, ebx
je 0x89eb90
mov eax, edi
shr eax, 4
and edi, 0xfffffff0
add edi, eax
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx + edi]
xor al, 0xf0
add byte [ebx + 0xa42c6d], al
add ebx, 2
add edx, 0xfffffffe
mov dword [ebp - 0x50], edx
add dword [ebp - 0x24], 2
add dword [ebp - 0x34], 0xfffffffe
add esi, 2
jmp 0x89eb38
mov al, 0x7b
xchg byte [0xa42c6d], al
mov dword [ebp - 0x10], 0x16
lea eax, [ebp - 0x180]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x26], 1
mov dword [ebp - 0x10], 0x16
mov dword [esp], 0xa42c60
lea ecx, [ebp - 0x2f0]
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0x214]
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
lea edx, [ebp - 0x180]
mov dword [ebp - 0x8c], edx
mov byte [ebp - 0x39], 1
mov dword [ebp - 0x10], 0x17
movzx edx, byte [ebp - 0x2d8]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x2f0]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0x208], 0xa
lea eax, [ebp - 0x204]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x88], ecx
mov byte [ebp - 0x38], 1
mov dword [ebp - 0x10], 0x18
movzx ecx, byte [ebp - 0x2d8]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
lea ecx, [ebp - 0x10c]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x180], 1
lea ecx, [ebp - 0x17c]
lea eax, [ebp - 0x180]
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x10], 0x19
lea eax, [ebp - 0x10c]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
nop
mov dword [ebp - 0x204], 2
movzx eax, byte [0xa42c7d]
cmp al, 0x7e
je 0x89ed97
mov cl, 0x96
mov al, 0xf0
lock cmpxchg byte [0xa42c7d], cl
je 0x89ecfc
cmp al, 0x7e
jne 0x89ece7
jmp 0x89ed97
mov ebx, 0xfffffff4
lea eax, [0x5221181b]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x24], 0xae7a894f
lea eax, [0x5221181c]
mov dword [ebp - 0x34], eax
mov esi, 0xae7a894e
nop
mov eax, dword [ebp - 0x24]
mov ecx, 0xba2e8ba3
mul ecx
mov edi, edx
mov eax, esi
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
lea eax, [edx + eax*2]
movzx edx, byte [ebx + 0xa42c7c]
mov ecx, dword [ebp - 0x34]
xor dl, byte [ecx + eax]
xor dl, 0x75
mov byte [ebx + 0xa42c7c], dl
test ebx, ebx
je 0x89ed88
shr edi, 3
lea eax, [edi + edi*4]
lea eax, [edi + eax*2]
movzx edx, byte [ebx + 0xa42c7d]
mov edi, dword [ebp - 0x50]
xor dl, byte [edi + eax]
xor dl, 0x75
mov byte [ebx + 0xa42c7d], dl
add ebx, 2
add edi, 0xfffffffe
mov dword [ebp - 0x50], edi
add dword [ebp - 0x24], 2
add dword [ebp - 0x34], 0xfffffffe
add esi, 2
jmp 0x89ed1f
mov al, 0x7e
xchg byte [0xa42c7d], al
mov dword [ebp - 0x10], 0x19
lea eax, [ebp - 0x170]
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x10], 0x19
mov dword [esp], 0xa42c70
lea ecx, [ebp - 0x2d8]
call fcn.0076f010
sub esp, 4
lea ecx, [ebp - 0x200]
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 0
mov byte [ebp - 0x37], 1
mov dword [ebp - 0x10], 0x1a
movzx edx, byte [ebp - 0xd8]
mov byte [esp + 8], dl
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.008a9510
sub esp, 0xc
nop
mov dword [ebp - 0x1f4], 0xa
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov byte [ebp - 0x36], 1
mov dword [ebp - 0x10], 0x1b
movzx ecx, byte [ebp - 0x54]
mov byte [esp + 8], cl
mov dword [esp + 4], eax
lea eax, [ebp - 0x204]
mov dword [esp], eax
lea ecx, [ebp - 0xd8]
call fcn.008a7070
sub esp, 0xc
nop
mov dword [ebp - 0x170], 0xa
lea ecx, [ebp - 0x16c]
mov byte [ebp - 0x35], 1
mov dword [ebp - 0x10], 0x1c
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call fcn.008a6a10
sub esp, 4
lea eax, [ebp - 0x160]
mov dword [ebp - 0x10], 0x1d
mov dword [esp + 4], eax
lea eax, [ebp - 0x1f0]
mov dword [esp], eax
mov ecx, 0xa58498
call fcn.0089bfe0
sub esp, 8
nop
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
mov ebx, 0x93d6
sub ebx, dword [ebp - 0x20]
sub esi, ebx
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x170]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x180]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x190]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x1a0]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x1b0]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x1c0]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x1d0]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x1e0]
call esi
mov eax, dword [0xa432ac]
mov esi, dword [0xa43290]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x1f0]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0xd8]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x200]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x2d8]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x10c]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x214]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x2f0]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x118]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x228]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x308]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x124]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x23c]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x320]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x130]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x250]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x294]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x2ac]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x13c]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x264]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x398]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x148]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x278]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x3b0]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x154]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0xe8]
call esi
mov eax, dword [0xa432a0]
mov esi, dword [0xa4329c]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0xfc]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x338]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x350]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x368]
call esi
mov eax, dword [0xa432a8]
mov esi, dword [0xa43298]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x380]
call esi
mov eax, dword [0xa432a4]
mov esi, dword [0xa43294]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x160]
call esi
lea esi, [ebp - 0x2bc]
mov eax, dword [0xa432a0]
mov edi, dword [0xa4329c]
sub edi, ebx
add edi, eax
mov ecx, edi
call dword [0xa0535c]
mov ecx, esi
call edi
mov dword [esp], 0x8a6dc0
call fcn.008ea168
mov dword [esp], 0xa584b8
call fcn.008ea2e0
jmp 0x89dd21