Function at 0x744930
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xb4
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x745d10
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.00745cf0
mov edx, dword [0xa209a8]
mov ecx, dword [0xa20990]
mov esi, 0xffff4a3e
sub esi, eax
mov dword [ebp - 0x5c], esi
sub ecx, esi
add ecx, edx
call dword [0xa0535c]
call ecx
mov dword [ebp - 0x20], eax
mov ecx, 0xa57108
call fcn.007846e0
mov dword [0xa57114], 0
mov dword [0xa57118], 0
mov dword [0xa5711c], 0
mov dword [ebp - 0x10], 3
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
nop
mov dword [0xa57128], eax
mov dword [0xa5712c], edx
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0xb27642d1
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], eax
mov eax, ecx
xor eax, 0xb27642d2
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x74], eax
movzx eax, byte [0xa208cd]
xor cl, 0x51
mov byte [ebp - 0x24], cl
cmp al, cl
je 0x744ab8
mov eax, dword [ebp - 0x20]
mov ecx, eax
xor cl, 0xf8
mov edx, eax
xor dl, 0xd4
nop dword [eax + eax]
mov eax, ecx
lock cmpxchg byte [0xa208cd], dl
je 0x744a26
cmp al, byte [ebp - 0x24]
jne 0x744a10
jmp 0x744ab8
mov edx, dword [ebp - 0x20]
mov eax, edx
xor eax, 0x5745c754
mov dword [ebp - 0x28], eax
mov ebx, edx
xor ebx, 0xb27642d3
mov eax, edx
xor eax, 0x703e8a33
mov ecx, edx
xor ecx, 0x8fc175cc
add eax, ebx
lea esi, [ecx + eax]
inc esi
mov ecx, edx
xor cl, 0x40
mov ch, dl
xor ch, 0xbf
xor edi, edi
nop dword [eax]
nop
mov eax, dword [ebp - 0x28]
add eax, edi
xor edx, edx
div ebx
mov eax, edx
xor eax, 0xfffffffe
add eax, esi
add edx, edx
and edx, 2
sub eax, edx
movzx eax, byte [eax + 0x9a5321]
mov edx, eax
not dl
mov ah, cl
and ah, dl
and dl, ch
and al, cl
or al, dl
not al
or al, ah
add byte [edi + 0xa208c0], al
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [eax + edi*2]
cmp edi, ebx
jl 0x744a60
nop
movzx eax, byte [ebp - 0x24]
xchg byte [0xa208cd], al
mov dword [ebp - 0x10], 0xffffffff
nop
mov eax, dword [0xa209a4]
mov ecx, dword [0xa2099c]
sub ecx, dword [ebp - 0x5c]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa0535c]
lea esi, [ebp - 0x84]
mov edi, dword [ebp - 0x2c]
push edi
push 0xa208c0
push esi
call ecx
add esp, 0xc
mov byte [ebp + edi - 0x84], 0
mov dword [ebp - 0x10], 6
lea eax, [ebp - 0xc0]
push esi
push eax
call fcn.00783530
add esp, 8
mov ecx, 0xa57108
lea esi, [ebp - 0xc0]
push esi
call fcn.00784820
mov ecx, esi
call fcn.00784700
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x68]
jbe 0x744ba1
nop
mov edx, dword [ebp - 0x84]
mov ecx, eax
xor ecx, 1
mov esi, eax
and esi, 1
lea esi, [ecx + esi*2]
mov edi, dword [ebp - 0x20]
mov ecx, edi
xor ecx, 0xb2764d21
cmp esi, ecx
jbe 0x744b96
nop
mov ecx, dword [edx - 4]
mov dword [0xa209cc], 0xad2526c3
mov esi, edi
xor esi, 0x4d89bd22
add esi, edx
sub esi, ecx
mov edx, edi
xor edx, 0xb27642fe
cmp esi, edx
jae 0x745ad1
mov edx, edi
xor edx, 0xb27642fa
mov esi, edi
xor esi, 0x6b3e12db
sub edx, esi
add edx, eax
mov eax, edx
xor eax, esi
and edx, esi
lea esi, [eax + edx*2]
mov edx, ecx
nop
push esi
push edx
call fcn.008ea1ad
add esp, 8
nop
mov dword [ebp - 0x10], 3
mov ecx, 0xa57108
call fcn.007848e0
test al, al
je 0x745a1e
mov ecx, 0xa57108
call fcn.007848d0
nop
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x84], 0
movzx eax, byte [0xa208f7]
mov ecx, dword [ebp - 0x20]
xor cl, 0x8d
mov byte [ebp - 0x24], cl
cmp al, cl
je 0x744c98
mov eax, dword [ebp - 0x20]
mov ecx, eax
xor cl, 0x4b
mov edx, eax
xor dl, 0x3a
nop
mov eax, ecx
lock cmpxchg byte [0xa208f7], dl
je 0x744c16
cmp al, byte [ebp - 0x24]
jne 0x744c00
jmp 0x744c98
mov eax, dword [ebp - 0x20]
mov ecx, eax
xor ecx, 0x7519e4e2
mov dword [ebp - 0x28], ecx
mov edi, eax
xor edi, 0xb27642f9
mov edx, eax
xor dl, 0xfa
mov ebx, eax
xor bl, 5
mov esi, eax
xor esi, 0xc2fcea
xor ecx, ecx
mov bh, dl
xor bl, dl
nop word cs:[eax + eax]
nop
mov eax, dword [ebp - 0x28]
add eax, ecx
xor edx, edx
div edi
not edx
movzx eax, byte [edi + edx + 0x9a5330]
and al, bl
xor al, bh
add byte [ecx + 0xa208d0], al
mov eax, dword [ebp - 0x20]
xor eax, ecx
xor eax, 0x7f3d0315
and eax, ecx
xor ecx, esi
sub ecx, esi
lea ecx, [ecx + eax*2]
inc ecx
cmp ecx, edi
jl 0x744c50
nop
movzx eax, byte [ebp - 0x24]
xchg byte [0xa208f7], al
mov dword [ebp - 0x10], 3
nop
mov eax, dword [ebp - 0x20]
xor eax, 0xb27642f8
mov dword [ebp - 0x10], 3
sub esp, 0xc
movzx ecx, byte [ebp - 0xc0]
mov byte [esp + 4], cl
mov dword [esp], eax
mov dword [esp + 8], 0xa208d0
lea ecx, [ebp - 0x84]
call fcn.0066cb40
nop
mov dword [ebp - 0x10], 5
mov ecx, 0xa57108
lea eax, [ebp - 0x84]
push eax
call fcn.00783410
nop
mov dword [0xa57114], eax
mov eax, dword [ebp - 0x70]
mov dword [0xa209d0], 0x46c0a794
mov ecx, dword [0xa209b4]
add ecx, dword [ecx]
mov dword [ebp - 0x50], ecx
mov ecx, dword [0x9a5314]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [0xa209b8]
add ecx, dword [ecx]
mov dword [ebp - 0x44], ecx
cmp eax, dword [ebp - 0x68]
jbe 0x744d6e
nop
mov ecx, dword [ebp - 0x84]
lea esi, [eax + 1]
mov edi, dword [ebp - 0x20]
mov edx, edi
xor edx, 0xb2764d21
cmp esi, edx
jbe 0x744d63
nop
mov edx, dword [ecx - 4]
mov esi, edi
xor esi, 0x4d89bd22
add esi, ecx
sub esi, edx
mov ecx, edi
xor ecx, 0xb27642fe
cmp esi, ecx
jae 0x745ade
mov ecx, edi
xor ecx, 0xb27642fa
add eax, ecx
mov esi, eax
mov ecx, edx
nop
push esi
push ecx
call fcn.008ea1ad
add esp, 8
nop
mov eax, dword [0xa209bc]
mov ecx, dword [ebp - 0x20]
xor eax, ecx
cmp eax, 0x352b68c1
mov ebx, dword [0xa209b0]
jne 0x744da0
lea eax, [ebx + 1]
mov dword [0xa209b0], eax
test eax, ebx
je 0x744ddd
xor eax, eax
mov cl, 1
mov dword [ebp - 0x28], ecx
xor ecx, ecx
jmp 0x745307
mov eax, ecx
xor eax, 0xe530d854
mov edx, ebx
neg edx
mov ecx, ebx
add cl, bl
neg cl
shl edx, cl
sub edx, ebx
shl edx, cl
mov ecx, eax
shl edx, cl
mov dword [0xa209c0], 0xc7b7d03d
mov ecx, edx
xor ecx, eax
and edx, eax
lea eax, [ecx + edx*2]
mov dword [0xa209b0], eax
mov dword [0xa209c8], 0xb66fa9b1
nop
mov ecx, dword [0xa209c0]
mov esi, dword [ebp - 0x20]
xor ecx, esi
mov eax, esi
xor eax, 0xd89bd26
xor edx, edx
cmp ecx, 0xeabee3ab
cmove eax, edx
mov edx, dword [ebp - 0x44]
mov ecx, dword [edx + eax*4]
cmp dword [ebp - 0x3c], 0
jle 0x7452fc
lea eax, [edx + eax*4]
add eax, ecx
mov dword [ebp - 0x28], eax
mov eax, esi
shl eax, 4
xor eax, 0x449de7e3
mov ecx, esi
xor ecx, 0xe6c8357d
mov edx, esi
shr edx, 2
mov edi, edx
mov edx, esi
shl edx, 0x1e
xor edx, esi
mov dword [ebp - 0x24], edx
xor edx, 0x9937ca82
mov ebx, esi
mov dword [ebp - 0x2c], edi
mov esi, edi
xor esi, 0xb09ba54b
add edx, ecx
adc esi, eax
add edx, 1
mov dword [ebp - 0x58], edx
adc esi, 0
mov dword [ebp - 0x54], esi
mov eax, dword [ebp - 0x24]
xor eax, 0x327642d6
mov dword [ebp - 0x40], eax
mov eax, edi
xor eax, 0x2c9d90b7
mov dword [ebp - 0x6c], eax
lea eax, [ebx + ebx]
mov dword [ebp - 0x94], eax
xor eax, 0x922a4c9
mov dword [ebp - 0x38], eax
mov eax, ebx
xor eax, 0x40af5f0
mov dword [ebp - 0x30], eax
mov esi, ebx
shr esi, 4
mov eax, ebx
shl eax, 0x1c
xor eax, ebx
mov ecx, eax
mov dword [ebp - 0x9c], eax
xor ecx, 0xf49320a9
mov dword [ebp - 0x4c], ecx
mov ecx, esi
xor ecx, 0x5943f036
mov dword [ebp - 0x48], ecx
lea ecx, [ebx*4]
xor ecx, 0x65ede007
mov dword [ebp - 0x34], ecx
mov ecx, ebx
xor ecx, 0x369a701d
mov dword [ebp - 0x64], ecx
mov edx, ebx
shr edx, 5
mov ecx, ebx
shl ecx, 0x1b
xor ecx, ebx
mov edi, ecx
xor edi, 0x1b6cdf56
mov dword [ebp - 0x60], edi
mov edi, edx
xor edi, 0xa808d9f2
mov dword [ebp - 0x98], edi
mov edi, ebx
xor edi, 0x5b715a18
mov dword [ebp - 0x90], edi
mov edi, ebx
xor edi, 0xa7722859
mov dword [ebp - 0x8c], edi
xor eax, 0x1bf50a0f
xor esi, 0x9916baa7
mov edi, ecx
xor edi, 0xa88dd7a6
mov dword [ebp - 0x88], edi
mov edi, edx
xor edi, 0x136b552f
add eax, dword [ebp - 0x8c]
adc esi, dword [ebp - 0x90]
add eax, dword [ebp - 0x88]
adc esi, edi
add eax, dword [ebp - 0x4c]
adc esi, dword [ebp - 0x48]
add eax, dword [ebp - 0x64]
adc esi, dword [ebp - 0x34]
add eax, dword [ebp - 0x30]
adc esi, dword [ebp - 0x38]
add eax, dword [ebp - 0x60]
adc esi, dword [ebp - 0x98]
xor ecx, 0x39658fe2
xor edx, 0x5658a696
add ecx, eax
adc edx, esi
add ecx, 4
mov dword [ebp - 0x48], ecx
adc edx, 0
mov dword [ebp - 0x4c], edx
mov edi, ebx
mov edx, ebx
shr edx, 1
mov esi, ebx
shl esi, 0x1f
xor esi, ebx
mov eax, esi
xor eax, 0xb27642d6
mov dword [ebp - 0x64], eax
mov eax, edx
xor eax, 0x593b216f
mov dword [ebp - 0x60], eax
mov eax, ebx
xor eax, 0xb27642d6
mov dword [ebp - 0x30], eax
mov eax, dword [0xa209c8]
xor eax, ebx
mov dword [ebp - 0x98], eax
xor dword [ebp - 0x9c], 0x527642dd
lea eax, [ebx*8]
mov dword [ebp - 0x34], eax
xor eax, 0x966841e0
mov ecx, ebx
xor ecx, 0xbb690ad6
xor esi, 0x4496f529
xor edx, 0xa31e8980
add esi, ecx
mov dword [ebp - 0xa8], esi
adc edx, eax
mov dword [ebp - 0xac], edx
mov ecx, ebx
mov eax, ebx
shr eax, 3
mov dword [ebp - 0x38], eax
mov esi, ebx
shl esi, 0x1d
mov edi, dword [ebp - 0x94]
xor edi, 0x74cc7c3e
mov eax, ebx
xor eax, 0xa80fedf8
mov edx, dword [ebp - 0x24]
xor edx, 0xd7f01207
mov ecx, dword [ebp - 0x2c]
xor ecx, 0xc34296ca
add edx, eax
mov dword [ebp - 0x24], edx
adc ecx, edi
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x34]
xor edx, 0x4c73bc28
mov ecx, ebx
mov eax, ebx
xor eax, 0x5d7993a4
mov edi, ebx
xor edi, 0x924817f9
xor ebx, 0xa2866c5b
add ebx, dword [ebp - 0x24]
adc edi, dword [ebp - 0x2c]
add ebx, eax
adc edi, edx
add ebx, 2
adc edi, 0
mov eax, esi
mov esi, ecx
xor eax, ecx
mov dword [ebp - 0x24], eax
xor eax, 0x8c6eda0a
mov edx, dword [ebp - 0x38]
xor edx, 0x8d7cad0e
xor ecx, 0xd6bbd874
xor esi, 0xb39125f5
add esi, eax
adc ecx, edx
sub esi, ebx
sbb ecx, edi
add esi, 1
adc ecx, 0
mov eax, esi
mul ebx
imul edi, esi
add edx, edi
imul ecx, ebx
add edx, ecx
mov esi, edx
mov ecx, ebx
shld esi, eax, cl
mov edi, eax
shl edi, cl
test bl, 0x20
cmovne esi, edi
mov ecx, 0
cmovne edi, ecx
sub edi, eax
mov dword [ebp - 0xa0], edi
sbb esi, edx
mov dword [ebp - 0xa4], esi
mov esi, dword [ebp - 0x24]
xor esi, 0x3931b1cb
mov edx, dword [ebp - 0x38]
xor edx, 0xeb368872
mov ecx, dword [ebp - 0x34]
xor ecx, 0x9135a926
mov edi, dword [ebp - 0x20]
mov eax, edi
xor eax, 0x6ce4e34
add eax, esi
adc ecx, edx
add eax, 1
mov dword [ebp - 0x94], eax
adc ecx, 0
mov dword [ebp - 0x34], ecx
mov ecx, edi
mov eax, edi
xor eax, 0xb27642da
mov dword [ebp - 0x90], eax
mov eax, edi
mov ebx, edi
xor eax, 0x4d89bd25
mov dword [ebp - 0x8c], eax
xor ebx, 0x4d89bd29
inc ebx
mov dword [ebp - 0x88], ebx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xb4], eax
xor edi, edi
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x38], 0
xor ecx, ecx
mov dword [ebp - 0x24], 0
jmp 0x74517a
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor dword [ebp - 0x38], edx
xor dword [ebp - 0x2c], esi
add edi, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
cmp edi, dword [ebp - 0x3c]
jge 0x7452ed
nop
mov eax, dword [0xa209c4]
xor eax, dword [ebp - 0x20]
cmp eax, 0xfa12d9c7
jne 0x7451c0
nop
mov dword [0xa209bc], 0x8aa7fd20
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x4c]
sbb edx, ecx
cmp eax, dword [ebp - 0x64]
sbb edx, dword [ebp - 0x60]
mov edx, dword [ebp - 0xb4]
mov esi, dword [edx + edi]
mov ebx, dword [edx + edi + 4]
jge 0x745160
jmp 0x7451ea
nop
mov ebx, dword [ebp - 0x50]
lea edx, [ebx + edi]
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x54]
adc esi, ecx
sub eax, edx
sbb esi, 0
cmp eax, dword [ebp - 0x40]
sbb esi, dword [ebp - 0x6c]
mov esi, dword [ebx + edi]
mov ebx, dword [ebx + edi + 4]
jge 0x745160
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x98], 0x7f46e2c9
jne 0x745220
nop
mov dword [0xa209c4], 0x95f8f269
nop
mov esi, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa4]
jmp 0x745269
mov dword [ebp - 0xb0], ebx
mov ebx, eax
mov ecx, dword [ebp - 0x9c]
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne ebx, ecx
xor edx, edx
mov ecx, ebx
mov esi, 1
shld edx, esi, cl
shl esi, cl
test bl, 0x20
mov ebx, dword [ebp - 0xb0]
cmovne edx, esi
mov ecx, 0
cmovne esi, ecx
add esi, dword [ebp - 0xa8]
adc edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x28]
nop
add esi, dword [ebp - 0x94]
adc edx, dword [ebp - 0x34]
and esi, ecx
and edx, ebx
mov ecx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x90]
xor ecx, ebx
and ecx, eax
xor ecx, ebx
and eax, ebx
add edi, dword [ebp - 0x88]
add edi, ecx
lea edi, [edi + eax*2]
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebx + ecx*4 + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [0xa209cc]
xor eax, dword [ebp - 0x20]
cmp eax, 0xfe5d0d39
lea eax, [ecx + 1]
lea ebx, [ebx + ecx*4 + 4]
jne 0x7452e0
nop
mov dword [0xa209cc], 0xd5fff88e
add ebx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ebx
xor ecx, ecx
jmp 0x745165
add ebx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ebx
xor ecx, ecx
jmp 0x745165
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
jmp 0x745307
mov dword [ebp - 0x28], 0
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x2c], eax
neg eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], ecx
sbb edx, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x84], 0
movzx eax, byte [0xa20929]
mov ecx, dword [ebp - 0x20]
xor cl, 0x14
mov byte [ebp - 0x24], cl
cmp al, cl
je 0x7453d6
mov eax, dword [ebp - 0x20]
mov ecx, eax
xor cl, 0xd9
mov edx, eax
xor dl, 0x10
nop word cs:[eax + eax]
mov eax, ecx
lock cmpxchg byte [0xa20929], dl
je 0x745373
cmp al, byte [ebp - 0x24]
jne 0x745360
jmp 0x7453d6
nop
mov eax, dword [ebp - 0x20]
mov esi, eax
xor esi, 0x1813ec
mov edi, eax
xor edi, 0xb27642f6
xor eax, 0xb27642f7
cmp eax, 2
mov ebx, 1
cmovge ebx, eax
xor ecx, ecx
nop dword [eax]
lea eax, [esi + ecx]
xor edx, edx
div edi
movzx eax, byte [edx + 0x9a5360]
xor al, byte [ebp - 0x20]
xor al, byte [ecx + 0xa20900]
xor al, 0x2a
mov byte [ecx + 0xa20900], al
inc ecx
cmp ebx, ecx
jne 0x7453a0
nop
movzx eax, byte [ebp - 0x24]
xchg byte [0xa20929], al
mov dword [ebp - 0x10], 3
nop
mov eax, dword [ebp - 0x20]
xor eax, 0xb27642f6
mov dword [ebp - 0x10], 3
sub esp, 0xc
movzx ecx, byte [ebp - 0xc0]
mov byte [esp + 4], cl
mov dword [esp], eax
mov dword [esp + 8], 0xa20900
lea ecx, [ebp - 0x84]
call fcn.0066cb40
nop
mov eax, dword [0xa209d0]
mov edx, dword [ebp - 0x20]
xor eax, edx
cmp eax, 0xe5358343
mov ebx, dword [0x9a5304]
mov edi, dword [0x9a5300]
jne 0x74591a
xor eax, eax
mov ecx, dword [ebp - 0x28]
test cl, cl
mov esi, 0xffffffff
cmove esi, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], ebx
mov ebx, 0xfffffff8
cmove ebx, eax
movzx esi, cl
shl esi, 2
mov eax, edx
shr eax, 2
mov dword [ebp - 0x58], eax
mov eax, edx
shl eax, 0x1e
xor eax, edx
mov dword [ebp - 0x54], eax
mov ecx, esi
and ecx, eax
add ecx, ecx
mov dword [ebp - 0x3c], ecx
mov eax, edx
shl eax, 4
mov dword [ebp - 0x4c], eax
xor eax, 0xe0b72ff3
mov dword [ebp - 0x28], edi
mov edi, edx
xor edi, 0xf176c0e6
add edi, ebx
adc eax, dword [ebp - 0x30]
movd xmm0, edx
mov ebx, edx
pshufd xmm3, xmm0, 0x44
movdqa xmm4, xmm3
psllq xmm4, 0x1f
movdqa xmm2, xmm3
psllq xmm2, 0x1d
movdqa xmm1, xmm2
movsd xmm1, xmm4
xorpd xmm1, xmm3
pshufd xmm3, xmm4, 0x55
movd ecx, xmm1
mov dword [ebp - 0x30], ecx
xor esi, ecx
xor esi, 0xe893f19
movd edx, xmm3
mov dword [ebp - 0x34], edx
xor edx, 0x6117dc83
add esi, edi
adc edx, eax
lea ecx, [ebx*8]
mov dword [ebp - 0x44], ecx
xor ecx, 0xe0578584
mov dword [ebp - 0x50], ecx
mov eax, ebx
xor eax, 0xbb0a973e
mov dword [ebp - 0x40], eax
lea ecx, [ebx + ebx]
mov dword [ebp - 0x6c], ecx
xor ecx, 0x6354a5ad
xor ebx, 0x8567a854
mov edi, dword [ebp - 0x30]
xor edi, 0x7a9857ab
mov eax, dword [ebp - 0x34]
xor eax, 0xa17cfe81
add edi, dword [ebp - 0x40]
adc eax, dword [ebp - 0x50]
add edi, ebx
adc eax, ecx
add esi, dword [ebp - 0x3c]
adc edx, 0
add esi, 1
mov dword [ebp - 0x48], esi
adc edx, 0
mov dword [ebp - 0x40], edx
add edi, dword [ebp - 0x2c]
adc eax, dword [ebp - 0x38]
sub edi, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
pshufd xmm2, xmm2, 0xff
add edi, 2
adc eax, 0
mov esi, dword [ebp - 0x20]
mov edx, esi
xor edx, 0x3e6c2e55
movd ecx, xmm2
mov dword [ebp - 0x50], ecx
xor ecx, edx
xor ecx, 0x65ab5b2f
and ecx, eax
xor ecx, edx
mov dword [ebp - 0x64], ecx
pshufd xmm2, xmm1, 0xee
mov ecx, esi
xor esi, 0x44f568c1
movd edx, xmm2
mov dword [ebp - 0x3c], edx
xor edx, esi
xor edx, 0x7b0a973e
and edx, edi
xor edx, esi
mov esi, ecx
shl esi, 0x1c
xor esi, ecx
mov dword [ebp - 0x24], esi
xor esi, 0xa4f568c1
and esi, edi
mov edi, ecx
shr edi, 4
mov dword [ebp - 0x28], edi
xor edi, 0x73d08a6
and edi, eax
shld edi, esi, 1
add esi, esi
mov eax, dword [ebp - 0x30]
xor eax, 0xaf3f4fd8
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x34]
xor ebx, 0x56cc4d7e
mov eax, dword [ebp - 0x44]
xor eax, 0x63ba851e
mov ecx, dword [ebp - 0x20]
xor ecx, 0x50c0b027
add ecx, dword [ebp - 0x60]
adc eax, ebx
sub ecx, dword [ebp - 0x2c]
sbb eax, dword [ebp - 0x38]
add ecx, edx
adc eax, dword [ebp - 0x64]
add ecx, esi
adc eax, edi
movd xmm3, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x20]
lea edx, [edi*4]
mov dword [ebp - 0x2c], edx
movd xmm2, edx
movdqa xmm4, xmm0
punpckldq xmm4, xmm2
movdqa xmm2, xmm0
punpckldq xmm2, xmm3
movd xmm3, dword [ebp - 0x54]
movd xmm5, dword [ebp - 0x58]
punpckldq xmm3, xmm5
mov esi, dword [ebp - 0x44]
movd xmm6, esi
punpcklqdq xmm6, xmm0
movapd xmm5, xmm1
shufps xmm5, xmm6, 0x24
movd xmm6, dword [ebp - 0x24]
movd xmm7, dword [ebp - 0x28]
punpckldq xmm6, xmm7
movdqa xmm7, xmm3
punpcklqdq xmm7, xmm6
pshufd xmm6, xmm3, 0x44
add ecx, 1
mov dword [ebp - 0x4c], ecx
adc eax, 0
mov dword [ebp - 0x38], eax
punpcklqdq xmm4, xmm2
pxor xmm7, xmmword [0x9a5280]
pxor xmm4, xmmword [0x9a5290]
xorps xmm5, xmmword [0x9a52a0]
pxor xmm6, xmmword [0x9a52b0]
paddq xmm5, xmm4
paddq xmm6, xmm7
paddq xmm6, xmm5
pshufd xmm4, xmm6, 0xee
paddq xmm4, xmm6
pshufd xmm5, xmm4, 0x55
movd ebx, xmm4
mov edx, dword [ebp - 0x48]
sub ebx, edx
movd ecx, xmm5
sbb ecx, dword [ebp - 0x40]
add ebx, 3
adc ecx, 0
xor esi, 0x54dc8089
mov dword [ebp - 0x44], esi
mov eax, edi
xor eax, 0x79086d6f
mov edi, dword [ebp - 0x3c]
xor edi, 0x46f79290
mov esi, dword [ebp - 0x50]
xor esi, 0x2edfa1dd
add edi, eax
adc esi, dword [ebp - 0x44]
add edi, edx
adc esi, dword [ebp - 0x40]
sub edi, ebx
sbb esi, ecx
add edi, 1
adc esi, 0
mov eax, edi
mul ebx
imul ecx, edi
add edx, ecx
imul esi, ebx
add esi, edx
xor esi, dword [ebp - 0x40]
mov dword [ebp - 0x44], esi
xor eax, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
mov esi, dword [ebp - 0x2c]
xor esi, 0xb2411bd0
mov edx, dword [ebp - 0x20]
mov ecx, edx
xor ecx, 0x66255ab0
xor dword [ebp - 0x54], 0xff9dd442
xor dword [ebp - 0x58], 0x77b333af
mov eax, edx
xor eax, 0x3611ad89
xor edx, 0x99daa54f
mov edi, dword [ebp - 0x24]
xor edi, 0x60622bbd
mov ebx, dword [ebp - 0x28]
xor ebx, 0xaff638ca
add edx, dword [ebp - 0x54]
adc eax, dword [ebp - 0x58]
add edx, ecx
adc eax, esi
add edx, edi
adc eax, ebx
sub edx, dword [ebp - 0x4c]
sbb eax, dword [ebp - 0x38]
add edx, 2
adc eax, 0
mov ecx, eax
mov esi, dword [ebp - 0x44]
xor ecx, esi
mov dword [ebp - 0x58], ecx
mov edi, edx
mov ecx, dword [ebp - 0x40]
xor edi, ecx
mov dword [ebp - 0x54], edi
and eax, esi
and edx, ecx
shld eax, edx, 1
add edx, edx
mov edi, dword [ebp - 0x20]
mov ecx, edi
xor ecx, 0x6a63c5a2
mov dword [ebp - 0x48], ecx
xor edi, 0x5051b2f2
mov ecx, dword [ebp - 0x24]
xor ecx, 0xa8e2c198
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x28]
xor esi, 0xca42e4d5
xor dword [ebp - 0x30], 0xb71d3e67
xor dword [ebp - 0x34], 0x67a15e68
mov ebx, dword [ebp - 0x3c]
xor ebx, 0x6fae4d0d
mov ecx, dword [ebp - 0x50]
xor ecx, 0x31a4b0d8
add ebx, edi
adc ecx, dword [ebp - 0x48]
add ebx, dword [ebp - 0x30]
adc ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x2c]
add edi, dword [ebp - 0x54]
adc esi, dword [ebp - 0x58]
add edi, edx
adc esi, eax
add edi, ebx
adc esi, ecx
pshufd xmm4, xmm0, 0x50
movd xmm5, dword [ebp - 0x6c]
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm3
add edi, 2
mov dword [ebp - 0x2c], edi
adc esi, 0
mov ebx, esi
mov dword [ebp - 0x30], esi
pshufd xmm3, xmm1, 0x4e
pxor xmm0, xmmword [0x9a52c0]
pxor xmm1, xmmword [0x9a52d0]
punpcklqdq xmm4, xmm2
pxor xmm3, xmmword [0x9a52e0]
paddq xmm3, xmm1
pxor xmm4, xmmword [0x9a52f0]
paddq xmm4, xmm0
paddq xmm4, xmm3
pshufd xmm0, xmm4, 0xee
paddq xmm0, xmm4
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
mov esi, dword [ebp - 0x40]
sub eax, esi
movd ecx, xmm1
mov edx, dword [ebp - 0x44]
sbb ecx, edx
add eax, edi
adc ecx, ebx
add eax, 4
adc ecx, 0
imul ecx, esi
mov edi, esi
imul edx, eax
mov esi, edx
mul edi
mov dword [ebp - 0x34], eax
mov edi, edx
add edi, esi
add edi, ecx
xor dword [ebp - 0x24], 0x1b61b554
xor dword [ebp - 0x28], 0x158c975e
mov eax, dword [ebp - 0x20]
mov ecx, eax
shr ecx, 5
mov ebx, eax
shl ebx, 0x1b
xor ebx, eax
xor ebx, 0x2bad0e7e
xor ecx, 0xe258e207
xor dword [ebp - 0x3c], 0xc49e4aab
mov esi, dword [ebp - 0x50]
xor esi, 0xf71ac4d7
mov edx, dword [ebp - 0x6c]
xor edx, 0x7cd82a52
xor eax, 0x2452f181
add ebx, dword [ebp - 0x24]
adc ecx, dword [ebp - 0x28]
add ebx, dword [ebp - 0x3c]
adc ecx, esi
add ebx, eax
adc ecx, edx
add ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
adc ecx, esi
mov eax, dword [ebp - 0x34]
sub ebx, eax
sbb ecx, edi
add ebx, 2
adc ecx, 0
imul ecx, eax
mov edx, eax
mov eax, ebx
mul edx
imul edi, ebx
add edx, edi
add edx, ecx
xor edx, esi
xor eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4c]
shld edx, eax, cl
mov ebx, ecx
shl eax, cl
test bl, 0x20
cmove eax, edx
test dword [ebp - 0x38], eax
mov dword [0xa209c0], 0x58c8a175
sets al
movzx ecx, byte [0xa56fc1]
not cl
and cl, al
jmp 0x74594e
mov eax, edi
mov ecx, dword [ebp - 0x30]
xor eax, ecx
and edi, ecx
mov ecx, ebx
mov edx, dword [ebp - 0x3c]
xor ecx, edx
and ebx, edx
shld ebx, edi, 1
add edi, edi
xor esi, esi
neg edi
sbb esi, ebx
xor edi, eax
xor esi, ecx
or esi, edi
setne al
mov ecx, dword [ebp - 0x28]
not cl
and cl, al
or cl, byte [0xa56fc1]
and cl, 1
mov byte [0xa56fc1], cl
mov dword [ebp - 0x10], 4
mov ecx, 0xa57108
lea eax, [ebp - 0x84]
push eax
call fcn.00783410
nop
mov dword [0xa57118], eax
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x68]
jbe 0x745a11
nop
mov edx, dword [ebp - 0x84]
mov ecx, eax
xor ecx, 1
mov esi, eax
and esi, 1
lea esi, [ecx + esi*2]
mov ecx, dword [ebp - 0x20]
xor ecx, 0xb2764d21
cmp esi, ecx
jbe 0x745a06
nop
mov ecx, dword [edx - 4]
cmp byte [0xa56fc1], 0
jne 0x7459cf
nop
mov edi, dword [ebp - 0x20]
mov esi, edi
xor esi, 0x4d89bd22
add esi, edx
sub esi, ecx
mov edx, edi
xor edx, 0xb27642fe
cmp esi, edx
jae 0x745aeb
nop
mov ebx, dword [ebp - 0x20]
mov esi, ebx
xor esi, 0xacba26ce
mov edx, ebx
xor edx, 0xb27642fa
xor ebx, 0x967c1fb6
sub edx, esi
sub edx, ebx
add edx, eax
mov eax, edx
xor eax, esi
mov dword [0xa209cc], 0xbbd6a959
and edx, esi
add eax, ebx
lea esi, [eax + edx*2]
mov edx, ecx
nop
push esi
push edx
call fcn.008ea1ad
add esp, 8
nop
cmp dword [0xa57114], 0x901840
je 0x745a8d
nop
mov ecx, dword [0xa57114]
test ecx, ecx
je 0x745a78
nop
cmp dword [0xa57118], 0
je 0x745a78
nop
mov dword [ebp - 0x84], 0x745c70
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa0535c]
mov dword [ebp - 0x10], 3
push 0xa5711c
lea eax, [ebp - 0x84]
push eax
push 2
call ecx
test eax, eax
je 0x745a78
nop
mov dword [0xa57118], 0
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov eax, dword [0xa209ac]
mov esi, dword [0xa20994]
sub esi, dword [ebp - 0x5c]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xa0535c]
lea edi, [ebp - 0x84]
mov ecx, edi
push 0x921774
call esi
mov dword [ebp - 0x10], 3
push 0x9ed7c4
push edi
call fcn.00901c9b
add esp, 8
nop
mov dword [ebp - 0x10], 0
call fcn.008cd651
nop
mov dword [ebp - 0x10], 1
call fcn.008cd651
nop
mov dword [ebp - 0x10], 2
call fcn.008cd651
nop dword [eax + eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
nop
mov eax, dword [0xa209a0]
mov esi, dword [0xa20998]
sub esi, dword [ebp - 0x5c]
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x84]
call esi
add esp, 0xc
pop ebp
ret