Function at 0x8b4f70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xf8
nop
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x8b5f00
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.008b5ee0
mov edx, dword [0xa460c4]
mov ecx, dword [0xa460b0]
mov esi, 0xacfd
sub esi, eax
mov dword [ebp - 0x58], esi
sub ecx, esi
add ecx, edx
call dword [0xa0535c]
call ecx
mov ebx, eax
lea eax, [edi + 4]
mov dword [ebp - 0x20], eax
mov dword [edi + 8], 0
mov esi, ebx
xor esi, 0x41309aed
push esi
call fcn.008ea17d
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [edi + 4], eax
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov ecx, ebx
xor ecx, 0x41309afa
mov dword [edi + 0x18], ecx
mov ecx, ebx
shl ecx, 0x1d
xor ecx, ebx
mov dword [ebp - 0x30], ecx
xor ecx, 0xef5715cd
mov edx, ebx
shl edx, 0x1b
xor edx, ebx
mov dword [ebp - 0x28], edx
xor edx, 0x58a8ea32
add edx, ecx
mov dword [ebp - 0x24], ebx
xor ebx, 0x41309af5
mov dword [ebp - 0xec], ebx
mov dword [edi + 0x1c], ebx
mov ecx, dword [0xa460f0]
mov dword [ebp - 0x60], ecx
add edx, dword [ecx]
mov dword [ebp - 0x54], edx
mov ecx, dword [0x9bacfc]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [0xa460f4]
add ecx, dword [ecx]
mov dword [ebp - 0x90], ecx
mov dword [edi], 0x3f800000
mov dword [ebp - 0x10], 0
lea ecx, [edi + 0xc]
mov dword [ebp - 0x64], ecx
push eax
push esi
call fcn.006d5dc0
nop
mov edx, dword [ebp - 0x24]
mov eax, edx
xor eax, 0x41309af2
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x98], eax
mov ecx, edx
xor ecx, 0x41309af7
mov eax, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x9c], ecx
movzx eax, byte [0xa45fdb]
mov ch, dl
xor ch, 0x12
cmp al, ch
je 0x8b5168
mov eax, dword [ebp - 0x24]
mov cl, al
xor cl, 0x1a
mov edx, eax
xor dl, 0x83
nop word cs:[eax + eax]
mov eax, ecx
lock cmpxchg byte [0xa45fdb], dl
je 0x8b50f2
cmp al, ch
jne 0x8b50e0
jmp 0x8b5168
nop
mov eax, dword [ebp - 0x24]
mov edx, eax
xor edx, 0xfddf5ce9
mov dword [ebp - 0x20], edx
mov edi, eax
xor edi, 0x41309af3
xor eax, 0x41309af6
cmp eax, 2
mov ebx, 1
cmovge ebx, eax
xor esi, esi
nop dword [eax + eax]
nop
mov eax, dword [ebp - 0x20]
add eax, esi
xor edx, edx
div edi
not edx
mov eax, edi
xor eax, edx
and edx, edi
movzx eax, byte [eax + edx*2 + 0x9bad20]
mov cl, byte [esi + 0xa45fd0]
xor al, byte [ebp - 0x24]
xor al, 0x5e
mov edx, eax
xor dl, cl
or al, cl
and al, dl
not al
mov byte [esi + 0xa45fd0], al
inc esi
cmp ebx, esi
jne 0x8b5120
nop
xchg byte [0xa45fdb], ch
mov dword [ebp - 0x10], 0xffffffff
nop
mov eax, dword [0xa460d4]
mov ecx, dword [0xa460b4]
sub ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa0535c]
lea eax, [ebp - 0xac]
push dword [ebp - 0x8c]
push 0xa45fd0
push eax
call ecx
add esp, 0xc
mov edx, dword [0xa460dc]
mov eax, edx
xor eax, 1
mov ecx, edx
and ecx, 1
lea eax, [eax + ecx*2]
mov dword [0xa460dc], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
test eax, edx
je 0x8b527e
mov dword [ebp - 0x20], 0
nop
mov eax, dword [ebp - 0x8c]
mov byte [ebp + eax - 0xac], 0
mov dword [ebp - 0x10], 5
lea eax, [ebp - 0xac]
push eax
push dword [ebp + 0x14]
call fcn.008a5fa0
add esp, 8
nop
mov esi, dword [ebp - 0x98]
mov ch, byte [0xa56fa8]
test ch, ch
jne 0x8b5213
nop
cmp esi, dword [ebp - 0x64]
jbe 0x8b5a88
nop
mov eax, dword [0xa460fc]
xor eax, dword [ebp - 0x24]
cmp eax, 0xe004c9e7
mov dh, byte [0x9bad08]
jne 0x8b59e0
nop
mov eax, dword [ebp - 0x84]
test dword [ebp - 0x88], eax
setne cl
mov al, 0xfe
sub al, cl
mov byte [ebp - 0x28], al
mov al, dh
mov ebx, dword [ebp - 0x20]
sub al, bl
mul bl
mov dl, al
sub al, dh
mul dl
mov dl, al
add dl, dh
add cl, dl
add cl, 2
mov eax, ecx
mul byte [ebp - 0x28]
mov cl, al
shl dl, cl
test dl, al
setne al
xor ch, 1
and ch, al
mov dword [0xa460fc], 0x53250a69
jmp 0x8b5a26
nop
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
cmp dword [ebp - 0x6c], 0
jle 0x8b51c9
nop
mov ebx, dword [ebp - 0x24]
mov edx, ebx
shl edx, 0x1e
mov esi, ebx
shr esi, 2
mov edi, esi
mov dword [ebp - 0x34], esi
xor edx, ebx
mov esi, edx
mov dword [ebp - 0x40], edx
mov edx, ebx
shr edx, 3
mov dword [ebp - 0x38], edx
mov edx, ebx
shr edx, 5
mov dword [ebp - 0x20], edx
add ecx, eax
mov dword [ebp - 0x68], ecx
mov eax, dword [0xa460f8]
xor eax, ebx
mov dword [ebp - 0x80], eax
mov eax, ebx
xor eax, 0x523ddb0b
mov dword [ebp - 0xe8], eax
lea eax, [ebx*8]
mov dword [ebp - 0x50], eax
xor eax, 0xd28954b5
mov dword [ebp - 0xe4], eax
mov eax, ebx
xor eax, 0x65c2e65f
mov ecx, ebx
xor ecx, 0xadc224f4
add ecx, 1
mov dword [ebp - 0xdc], ecx
adc eax, 0
mov dword [ebp - 0xe0], eax
mov eax, edi
xor eax, 0xfe8c3d9d
xor esi, 0x5269b48d
mov ecx, ebx
xor ebx, 0x500f7e20
mov edi, ecx
mov edx, ecx
xor edi, 0xed964b72
add edi, esi
adc ebx, eax
mov ecx, dword [ebp - 0x38]
xor ecx, 0x52a791c3
mov eax, dword [ebp - 0x30]
xor eax, 0x5222923c
mov esi, dword [ebp - 0x50]
xor esi, 0xaae5befb
mov dword [ebp - 0x3c], esi
mov esi, edx
xor edx, 0x8906d93c
mov dword [ebp - 0x44], edx
lea edx, [esi*4]
mov dword [ebp - 0x4c], edx
mov esi, edx
xor esi, 0xa1bc1697
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x24]
xor esi, 0xddd6dc3
mov dword [ebp - 0x48], esi
xor edx, 0x585cfd18
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x24]
mov esi, edx
xor esi, 0x76f926c3
add eax, edi
adc ecx, ebx
add eax, dword [ebp - 0x44]
adc ecx, dword [ebp - 0x3c]
add eax, esi
adc ecx, dword [ebp - 0x5c]
add eax, dword [ebp - 0x48]
adc ecx, dword [ebp - 0x2c]
add eax, 3
mov dword [ebp - 0xd4], eax
adc ecx, 0
mov dword [ebp - 0xd8], ecx
mov ebx, edx
mov eax, edx
shl eax, 4
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x20]
xor eax, 0x4b009d2e
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp - 0x28]
xor edi, 0x79747140
mov esi, edx
xor esi, 0xfe38265f
mov eax, edx
xor eax, 0x288286c4
add edx, edx
mov ecx, ebx
mov dword [ebp - 0x3c], edx
xor edx, 0xc29676a7
xor ecx, 0xd77d793b
add ecx, edi
adc edx, dword [ebp - 0x2c]
add ecx, eax
adc edx, esi
mov edi, dword [ebp - 0x38]
xor edi, 0xc4d06904
mov ebx, dword [ebp - 0x30]
mov eax, ebx
xor eax, 0xa998e20c
mov esi, dword [ebp - 0x34]
xor esi, 0xa6bac0b9
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x40]
xor esi, 0x2e8b8ebf
add eax, ecx
adc edi, edx
add eax, esi
adc edi, dword [ebp - 0x2c]
add eax, 3
mov dword [ebp - 0xcc], eax
adc edi, 0
mov dword [ebp - 0xd0], edi
mov ecx, dword [ebp - 0x24]
mov eax, ecx
xor eax, 0xf6671df3
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x3c]
xor eax, 0x3168b05e
mov dword [ebp - 0xc4], eax
mov eax, ecx
xor eax, 0xafc15939
xor ecx, 0x7bfb72ce
mov edx, dword [ebp - 0x38]
xor edx, 0x19282f64
mov esi, ebx
xor esi, 0x24048d31
add esi, ecx
adc edx, eax
add esi, 1
mov dword [ebp - 0xbc], esi
adc edx, 0
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x20]
xor eax, 0x4dd5ef80
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
xor eax, 0x21076cf6
mov dword [ebp - 0x44], eax
mov edi, dword [ebp - 0x4c]
mov edx, edi
xor edx, 0xb4e1ff5c
mov ebx, dword [ebp - 0x24]
mov esi, ebx
xor esi, 0x36f89309
xor edi, 0x1a89533b
mov ecx, ebx
xor ecx, 0x79d0e358
mov eax, dword [ebp - 0x3c]
xor eax, 0x63d5f2ca
xor ebx, 0x862f1ca7
add ebx, ecx
adc eax, edi
add ebx, esi
mov dword [ebp - 0x5c], ebx
adc eax, edx
mov ebx, eax
mov edx, dword [ebp - 0x50]
xor edx, 0xed1231cd
mov edi, dword [ebp - 0x24]
xor edi, 0x32e3e90
mov esi, dword [ebp - 0x34]
xor esi, 0xb253f65
mov ecx, dword [ebp - 0x40]
xor ecx, 0xbcd1c16f
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x44]
adc ebx, dword [ebp - 0x2c]
add eax, edi
adc ebx, edx
add eax, ecx
adc ebx, esi
add eax, 3
mov dword [ebp - 0x5c], eax
adc ebx, 0
mov dword [ebp - 0x94], ebx
mov eax, dword [ebp - 0x24]
mov edx, eax
shr edx, 4
mov dword [ebp - 0x44], edx
mov ecx, eax
shl ecx, 0x1c
xor ecx, eax
mov dword [ebp - 0x2c], ecx
mov esi, eax
xor ecx, 0xe9e7fc8f
mov dword [ebp - 0x78], ecx
xor edx, 0xde35329a
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x20]
mov eax, edx
xor eax, 0xe4aef352
mov dword [ebp - 0xb8], eax
mov edi, dword [ebp - 0x28]
mov eax, edi
xor eax, 0x538b4077
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x34]
xor eax, 0x3595e275
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x40]
mov eax, ebx
xor eax, 0x86180370
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x4c]
xor ecx, 0x84985680
mov eax, esi
xor esi, 0xd6322c97
xor edx, 0x7dac465c
mov dword [ebp - 0x70], edx
mov edx, edi
xor edx, 0xc1cdd368
xor dword [ebp - 0x34], 0x3da9f715
xor ebx, 0x6272557e
mov edi, dword [ebp - 0x48]
xor edi, 0xa5127aa
mov dword [ebp - 0x40], edi
xor eax, 0x4474bf88
add esi, dword [ebp - 0xb0]
adc ecx, dword [ebp - 0xb8]
add esi, dword [ebp - 0x78]
adc ecx, dword [ebp - 0x7c]
add esi, dword [ebp - 0xb4]
adc ecx, dword [ebp - 0x74]
add esi, edx
adc ecx, dword [ebp - 0x70]
add esi, ebx
adc ecx, dword [ebp - 0x34]
add esi, eax
adc ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
xor edx, 0xd8daa81
mov eax, dword [ebp - 0x44]
xor eax, 0xd60927fa
add edx, esi
mov dword [ebp - 0x2c], edx
adc eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
xor eax, 0xb1358633
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x24]
mov eax, edx
xor eax, 0x48e7d25c
mov ecx, dword [ebp - 0x4c]
mov esi, ecx
xor esi, 0x656051bf
mov dword [ebp - 0x40], esi
mov edi, edx
xor edi, 0x5a6d9fc0
xor dword [ebp - 0x38], 0x60d691c8
mov ebx, dword [ebp - 0x30]
xor ebx, 0x414112d
xor ecx, 0x17f75521
mov dword [ebp - 0x30], ecx
mov ecx, edx
mov esi, edx
xor ecx, 0xea454037
mov edx, dword [ebp - 0x50]
xor edx, 0xe54e16c2
xor esi, 0x15babfc8
add esi, ebx
adc edx, dword [ebp - 0x38]
add esi, edi
adc edx, dword [ebp - 0x40]
add esi, ecx
adc edx, dword [ebp - 0x30]
add esi, eax
adc edx, dword [ebp - 0x34]
xor dword [ebp - 0x20], 0xcea2c8e1
mov ebx, dword [ebp - 0x28]
xor ebx, 0x5f182da3
mov edi, dword [ebp - 0x50]
mov eax, edi
xor eax, 0x9c1a2053
mov ecx, dword [ebp - 0x24]
xor ecx, 0x6e427cce
add ebx, esi
mov esi, dword [ebp - 0x20]
adc esi, edx
add ebx, ecx
mov dword [ebp - 0x28], ebx
adc esi, eax
mov dword [ebp - 0x20], esi
mov ebx, dword [ebp - 0x24]
mov eax, ebx
xor eax, 0xc6940856
mov ecx, ebx
xor ecx, 0x90a66d46
xor edi, 0x5c9029e0
mov dword [ebp - 0x30], edi
mov edi, ebx
xor edi, 0x1d065c84
mov edx, dword [ebp - 0x3c]
xor edx, 0xe8003dbe
mov dword [ebp - 0x38], edx
mov edx, ebx
xor edx, 0x91bd8331
mov esi, dword [ebp - 0x48]
xor esi, 0xb9e2ae27
mov dword [ebp - 0x34], esi
mov esi, ebx
xor esi, 0xe2f9a37b
add ecx, dword [ebp - 0x28]
adc eax, dword [ebp - 0x20]
add ecx, edi
adc eax, dword [ebp - 0x30]
add ecx, edx
adc eax, dword [ebp - 0x38]
add ecx, esi
adc eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x50]
xor edx, 0x97d9125c
mov esi, ebx
xor esi, 0xa592603f
xor dword [ebp - 0x4c], 0x7c9906a0
mov edi, ebx
xor edi, 0x6f5992b9
add esi, ecx
adc edx, eax
add esi, edi
adc edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
xor ecx, 0x8406d2b8
mov eax, ebx
xor eax, 0x5bebeed2
add eax, esi
adc ecx, edx
add eax, 7
mov dword [ebp - 0x40], eax
adc ecx, 0
mov dword [ebp - 0x48], ecx
mov eax, ebx
xor eax, 0x8265a915
mov ecx, ebx
xor ecx, 0x97cccdc0
mov esi, dword [ebp - 0x3c]
xor esi, 0xbecbf9ed
mov edx, ebx
xor edx, 0x6833323f
add edx, ecx
adc esi, eax
add edx, 1
mov dword [ebp - 0x7c], edx
adc esi, 0
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x60]
add eax, ecx
inc eax
mov dword [ebp - 0x4c], eax
mov ecx, ebx
mov eax, ecx
xor al, 0xfe
mov byte [ebp - 0x78], al
mov eax, ebx
xor eax, 0x3ecf6506
mov dword [ebp - 0x74], eax
mov eax, ebx
xor eax, 0x6b38d46d
xor ecx, 0x94c72b92
mov esi, dword [ebp - 0x2c]
sub esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x44]
sbb edx, dword [ebp - 0x94]
add eax, ecx
add eax, 0xfffffffe
mov dword [ebp - 0x70], eax
add esi, 4
mov dword [ebp - 0x2c], esi
adc edx, 0
mov dword [ebp - 0x44], edx
nop
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x60], 0
xor esi, esi
jmp 0x8b5875
mov eax, ebx
movzx ecx, byte [ebp - 0x78]
shl al, cl
mov ah, 0xff
mov ecx, eax
shl ah, cl
not ah
and dl, ah
mov eax, dword [ebp - 0x24]
xor eax, ebx
xor eax, 0x41309af9
not ebx
and ebx, dword [ebp - 0x74]
or ebx, eax
mov esi, dword [ebp - 0x28]
add esi, dword [ebp - 0x70]
add esi, eax
mov eax, dword [ebp - 0x60]
lea ecx, [eax + 1]
mov dword [ebp - 0x28], ecx
mov dword [0xa460fc], 0x7a3daf21
add ebx, ebx
sub esi, ebx
mov ecx, dword [ebp - 0x90]
lea edi, [ecx + eax*4]
add edi, 4
add edi, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x54], 0
nop
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x20]
xor al, dl
mov dword [ebp - 0x20], eax
inc esi
cmp esi, dword [ebp - 0x6c]
jge 0x8b51d0
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x4c]
add eax, esi
cmp dword [ebp - 0x80], 0x9542d6e1
jne 0x8b58a0
mov ebx, dword [ebp - 0x7c]
add ebx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x3c]
adc esi, dword [ebp - 0x54]
sub ebx, eax
sbb esi, 0
jmp 0x8b59c9
nop
mov edx, dword [ebp - 0xe8]
mov edi, edx
xor edi, eax
and edx, eax
mov ecx, edx
shr ecx, 0x1f
add edx, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0xe0]
sbb esi, 0
add eax, edi
adc esi, dword [ebp - 0xe4]
add eax, edx
adc esi, ecx
mov ecx, dword [ebp - 0xd4]
add ecx, eax
mov dword [ebp - 0x34], ecx
mov edi, dword [ebp - 0xd8]
adc edi, esi
mov dword [ebp - 0x30], edi
mov edx, ecx
neg edx
mov ebx, 0
sbb ebx, edi
mov edi, ecx
add edi, 0xffffffff
mov ecx, dword [ebp - 0x30]
adc ecx, 0xffffffff
xor ecx, ebx
and ecx, esi
xor ecx, ebx
and ebx, esi
xor edi, edx
and edi, eax
xor edi, edx
and edx, eax
shld ebx, edx, 1
add edx, edx
add edx, edi
adc ebx, ecx
mov ecx, dword [ebp - 0xcc]
add ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0xd0]
adc edi, dword [ebp - 0x30]
sub ecx, edx
sbb edi, ebx
mov esi, dword [ebp - 0x50]
xor esi, edi
mov eax, dword [ebp - 0x24]
xor eax, ecx
xor esi, 0xc572adb3
xor eax, 0x998e20c
and edi, dword [ebp - 0xc4]
and ecx, dword [ebp - 0xc8]
shld edi, ecx, 1
add ecx, ecx
sub eax, ecx
sbb esi, edi
add eax, 1
adc esi, 0
imul esi, edx
imul ebx, eax
mul edx
add edx, ebx
add edx, esi
mov edi, dword [ebp - 0x34]
add edi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x30]
adc ecx, dword [ebp - 0xc0]
add edi, eax
adc ecx, edx
mov ebx, dword [ebp - 0x5c]
add ebx, edi
mov esi, dword [ebp - 0x94]
adc esi, ecx
mov eax, dword [ebp - 0x2c]
mul edi
imul edi, dword [ebp - 0x44]
add edi, edx
imul ecx, dword [ebp - 0x2c]
add edi, ecx
shld esi, ebx, 1
add ebx, ebx
add ebx, dword [ebp - 0x40]
adc esi, dword [ebp - 0x48]
add ebx, eax
mov eax, dword [ebp - 0x38]
adc esi, edi
mov dword [0xa460e8], 0x482b1925
mov dword [0xa460e8], 0xd9e2970c
cmp ebx, 1
sbb esi, 0
movzx edx, byte [eax]
jl 0x8b5800
mov esi, dword [ebp - 0x28]
jmp 0x8b5863
mov edi, dword [ebp - 0x88]
and edi, dword [ebp - 0x84]
movzx eax, byte [ebp - 0x24]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x9bacd0]
pxor xmm1, xmm1
punpckldq xmm0, xmm1
psadbw xmm0, xmm1
movd eax, xmm0
cmp edi, 1
sbb al, 0xff
inc al
sub dh, byte [ebp - 0x20]
test dh, al
setne al
or ch, al
nop
mov byte [0xa56fa8], ch
mov eax, dword [ebp - 0xac]
lea edx, [esi + 1]
mov ecx, dword [ebp - 0x24]
xor ecx, 0x41309502
cmp edx, ecx
jbe 0x8b5a7d
nop
mov ecx, dword [eax - 4]
cmp byte [0xa56fc0], 0
jne 0x8b5a6f
nop
mov edi, dword [ebp - 0x24]
mov edx, edi
xor edx, 0xbecf6501
add edx, eax
sub edx, ecx
mov eax, edi
xor eax, 0x41309add
cmp edx, eax
jae 0x8b5dc7
mov eax, dword [ebp - 0x24]
xor eax, 0x41309ad9
add esi, eax
mov edx, esi
mov eax, ecx
nop
push edx
push eax
call fcn.008ea1ad
add esp, 8
nop
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 4]
mov esi, dword [ebp - 0x24]
mov eax, esi
xor eax, 0x3da1bba9
mov ecx, esi
xor ecx, 0xc25e4456
add eax, ecx
add eax, 2
mov dword [ebp - 0x4c], eax
mov eax, esi
xor eax, 0xaf7be2f5
mov edx, esi
xor edx, 0x50841d0a
mov ecx, esi
xor ecx, 0x41309afe
add ecx, edx
mov edx, esi
xor edx, 0xd7d90db
add eax, edx
add eax, ecx
mov ecx, esi
xor ecx, 0x41309afb
mov dword [ebp - 0x34], ecx
mov ecx, esi
xor ecx, 0x41309502
mov dword [ebp - 0x6c], ecx
mov ecx, esi
xor ecx, 0xbecf6501
mov dword [ebp - 0x60], ecx
mov ecx, esi
xor ecx, 0x41309add
mov dword [ebp - 0x68], ecx
mov ecx, esi
xor ecx, 0x41309ad9
mov dword [ebp - 0x54], ecx
xor esi, 0x546b7934
neg edx
mov dword [ebp - 0x3c], edx
add eax, esi
add eax, 3
mov dword [ebp - 0x50], eax
inc esi
mov dword [ebp - 0x24], esi
nop
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x20], edi
nop word cs:[eax + eax]
nop
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x48]
je 0x8b5d95
nop
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x11c]
mov eax, dword [eax + 0x120]
mov dword [ebp - 0x38], eax
cmp ecx, eax
je 0x8b5d41
mov esi, ecx
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 0x10]
mov dword [ebp - 0x2c], ecx
add eax, 0x2c
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x10], 0xffffffff
nop word cs:[eax + eax]
nop
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x98], edi
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x9c], ebx
mov eax, dword [0xa460d4]
mov ecx, dword [0xa460b4]
sub ecx, dword [ebp - 0x58]
add ecx, eax
lea eax, [esi + 0xa]
mov dword [ebp - 0x28], eax
call dword [0xa0535c]
push ebx
push dword [ebp - 0x28]
lea eax, [ebp - 0xac]
push eax
call ecx
add esp, 0xc
mov byte [ebp + ebx - 0xac], 0
mov dword [ebp - 0xf0], edi
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x28], esi
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x104], xmm0
mov byte [ebp + eax - 0x104], 0
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0xc], 0
setne bl
je 0x8b5c30
nop
mov eax, dword [0xa460cc]
mov esi, dword [0xa460b8]
sub esi, dword [ebp - 0x58]
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0xac]
push 0
push dword [ebp - 0x2c]
call esi
cmp eax, 0xffffffff
setne bh
jmp 0x8b5c32
mov bh, 1
nop
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x28], 0
je 0x8b5c71
nop
mov eax, dword [0xa460cc]
mov esi, dword [0xa460b8]
sub esi, dword [ebp - 0x58]
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0x104]
push 0
push dword [ebp - 0x80]
call esi
cmp eax, 0xffffffff
setne al
test bh, bh
setne bh
and bh, al
mov bl, 1
nop
mov ecx, dword [ebp - 0x20]
cmp byte [ecx + 0x44], 0
je 0x8b5c91
nop
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1c]
cmp eax, dword [ecx + 0x48]
sete al
test bh, bh
setne bh
and bh, al
mov bl, 1
test bh, bh
setne bh
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x64]
jbe 0x8b5cdc
nop
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x4c]
add edx, eax
cmp edx, dword [ebp - 0x6c]
jbe 0x8b5cd1
nop
mov esi, dword [ecx - 4]
add ecx, dword [ebp - 0x60]
sub ecx, esi
cmp ecx, dword [ebp - 0x68]
jae 0x8b5dad
add eax, dword [ebp - 0x54]
mov edx, eax
mov ecx, esi
nop
push edx
push ecx
call fcn.008ea1ad
add esp, 8
nop
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x64]
jbe 0x8b5d2e
nop
mov edx, dword [ebp - 0xac]
lea esi, [eax + 1]
cmp esi, dword [ebp - 0x6c]
jbe 0x8b5d23
nop
mov ecx, dword [edx - 4]
mov esi, dword [ebp - 0x50]
sub esi, edx
mov edx, esi
mov edi, dword [ebp - 0x3c]
xor edx, edi
and esi, edi
lea edx, [edx + esi*2]
add edx, ecx
mov esi, dword [ebp - 0x24]
sub esi, edx
cmp esi, dword [ebp - 0x68]
jae 0x8b5dba
add eax, dword [ebp - 0x54]
mov esi, eax
mov edx, ecx
nop
push esi
push edx
call fcn.008ea1ad
add esp, 8
and bl, bh
jne 0x8b5d48
mov esi, dword [ebp - 0x28]
add esi, 0x30
cmp esi, dword [ebp - 0x38]
jne 0x8b5b80
mov dword [ebp - 0x30], 0
nop
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x10], 4
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.008aa180
nop
push dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
push dword [eax + 8]
push dword [ebp + 0x14]
call fcn.008a6330
add esp, 0xc
jmp 0x8b5b30
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
add esp, 0xf8
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov dword [ebp - 0x10], 2
call fcn.008cd651
nop
mov dword [ebp - 0x10], 3
call fcn.008cd651
nop
mov dword [ebp - 0x10], 1
call fcn.008cd651
nop word cs:[eax + 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 [0xa460d8]
mov esi, dword [0xa460a4]
sub esi, dword [ebp - 0x58]
add esi, eax
mov ecx, esi
call dword [0xa0535c]
lea ecx, [ebp - 0xac]
call esi
add esp, 0xc
pop ebp
ret