Function at 0x6e9a20
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov esi, ecx
call fcn.006eb2e0
mov edi, dword [0xa57068]
mov edx, dword [0xa18758]
mov ecx, dword [0xa186d0]
sub ecx, edi
mov ebx, 0x53dd
sub ebx, eax
add ecx, edx
add ecx, eax
add ecx, 0xffffac23
mov ebp, eax
mov dword [esp + 0x18], eax
call dword [0xa0535c]
call ecx
mov dword [esp + 0x3c], eax
mov eax, dword [0xa187a4]
mov ecx, dword [0xa186b4]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
mov eax, esp
push 0x3429ae6e
push eax
push esi
call ecx
add esp, 0xc
mov eax, dword [esp]
xorps xmm0, xmm0
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
mov eax, dword [0xa18740]
mov ecx, dword [0xa18660]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0xd6e3fc7
push esi
call ecx
add esp, 8
mov byte [esi + 4], 0
xorps xmm0, xmm0
movups xmmword [esi + 8], xmm0
movups xmmword [esi + 0x18], xmm0
mov eax, dword [0xa187e4]
mov ecx, dword [0xa186c4]
sub ecx, edi
add ecx, eax
add ecx, ebp
add ecx, 0xffffac23
call dword [0xa0535c]
push 0xbc73832c
push esi
call ecx
add esp, 8
mov byte [esi + 0x64], 0
xorps xmm0, xmm0
movups xmmword [esi + 0x68], xmm0
movups xmmword [esi + 0x78], xmm0
mov eax, dword [0xa18724]
mov ecx, dword [0xa18648]
or ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x28692d4e
lea eax, [esp + 4]
push eax
push esi
call ecx
add esp, 0xc
mov ebp, dword [esp]
mov eax, dword [0xa18770]
mov ecx, dword [0xa186d8]
mov dword [esp + 0x14], edi
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
add ecx, eax
add ecx, 0xffffac23
call dword [0xa0535c]
lea edx, [esp + 8]
lea eax, [esp + 4]
push 0xab280522
push edx
push eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x1c], ebp
push ebp
mov dword [esp + 0x34], esi
push esi
call ecx
add esp, 0x18
mov ecx, dword [esp]
mov dword [esp + 0x2c], ecx
test al, 1
nop
mov dword [esp + 0x28], ebx
jne 0x6e9c15
mov eax, dword [esp + 4]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x14]
nop word cs:[eax + eax]
nop
mov eax, dword [0xa18774]
mov ecx, dword [0xa1870c]
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
add ecx, eax
add ecx, 0xffffac23
call dword [0xa0535c]
push 0x1ba9e10
lea ebp, [esp + 4]
push ebp
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [0xa187e0]
mov ecx, dword [0xa18640]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x33f9c644
push ebp
push dword [esp + 0x18]
push esi
call ecx
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6e9ba0
nop
mov eax, dword [0xa18738]
mov ecx, dword [0xa186f4]
mov edi, dword [esp + 0x14]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x58d11d7f
lea ebp, [esp + 4]
push ebp
mov esi, dword [esp + 0x28]
push esi
push dword [esp + 0x38]
push dword [esp + 0x1c]
call ecx
add esp, 0x14
mov ebp, dword [esp]
mov eax, dword [0xa1872c]
mov ecx, dword [0xa18684]
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
add ecx, eax
add ecx, 0xffffac23
call dword [0xa0535c]
push 0xf664b341
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x1c], ebp
push ebp
push esi
call ecx
add esp, 0x18
mov ecx, dword [esp]
mov dword [esp + 0x2c], ecx
test al, 1
jne 0x6e9d25
mov eax, dword [esp + 4]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x14]
nop
nop
mov eax, dword [0xa187ac]
mov ecx, dword [0xa18704]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0xb9df99c7
lea ebp, [esp + 4]
push ebp
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [0xa187d8]
mov ecx, dword [0xa18680]
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
add ecx, eax
add ecx, 0xffffac23
call dword [0xa0535c]
push 0xd7caee4a
push ebp
push dword [esp + 0x18]
push esi
call ecx
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6e9cb0
nop
mov eax, dword [esp + 0x18]
add eax, 0xffffac23
mov dword [esp + 0x10], eax
mov eax, dword [0xa18788]
mov ecx, dword [0xa18670]
mov edi, dword [esp + 0x14]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0xbe81334f
lea esi, [esp + 8]
push esi
lea ebp, [esp + 8]
push ebp
push dword [esp + 0x2c]
push dword [esp + 0x3c]
push dword [esp + 0x20]
call ecx
add esp, 0x18
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov eax, dword [0xa187b0]
mov ecx, dword [0xa1866c]
or ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x200a9be2
lea eax, [esp + 8]
push eax
lea eax, [esp + 8]
push eax
mov dword [esp + 0x38], esi
push esi
mov dword [esp + 0x48], ebp
push ebp
call ecx
add esp, 0x14
test al, 1
jne 0x6e9e45
mov eax, dword [esp]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x14]
nop word cs:[eax + eax]
nop
mov eax, dword [0xa18734]
mov ecx, dword [0xa18678]
or ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x9003e969
lea ebp, [esp + 4]
push ebp
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [0xa18790]
mov ecx, dword [0xa18668]
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
add ecx, eax
add ecx, 0xffffac23
call dword [0xa0535c]
push 0x5a5b569
push ebp
push dword [esp + 0x14]
push esi
call ecx
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6e9dd0
nop
mov ecx, dword [0xa1879c]
add ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x14]
add ecx, dword [0xa18708]
call dword [0xa0535c]
lea eax, [esp + 0x34]
push 0xf9d71379
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x34]
push dword [esp + 0x50]
push dword [esp + 0x48]
call ecx
add esp, 0x20
mov ecx, dword [esp]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x38], ecx
test al, 1
jne 0x6e9f1c
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
nop dword [eax]
nop
mov ecx, dword [0xa18780]
add ecx, dword [esp + 0x10]
add ecx, edi
add ecx, dword [0xa18698]
call dword [0xa0535c]
push 0x5c1991a1
lea ebp, [esp + 4]
push ebp
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [0xa187e8]
mov ecx, dword [0xa186c0]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x67baeb2e
push ebp
push dword [esp + 0x14]
push esi
call ecx
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6e9eb0
nop
mov eax, dword [0xa18730]
mov ecx, dword [0xa186c8]
mov edi, dword [esp + 0x14]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x5ebeb99d
lea esi, [esp + 8]
push esi
lea ebp, [esp + 8]
push ebp
push dword [esp + 0x2c]
push dword [esp + 0x48]
push dword [esp + 0x40]
call ecx
add esp, 0x18
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov ecx, dword [0xa18768]
add ecx, dword [esp + 0x10]
add ecx, edi
add ecx, dword [0xa186bc]
call dword [0xa0535c]
push 0x93ea738d
lea eax, [esp + 8]
push eax
lea eax, [esp + 8]
push eax
mov dword [esp + 0x28], esi
push esi
mov dword [esp + 0x40], ebp
push ebp
call ecx
add esp, 0x14
test al, 1
jne 0x6ea01b
mov eax, dword [esp]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x14]
nop dword [eax]
nop
mov eax, dword [0xa1874c]
mov ecx, dword [0xa18710]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x444798cc
lea ebp, [esp + 4]
push ebp
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [0xa18794]
mov ecx, dword [0xa186e8]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0xe8d23f5f
push ebp
push dword [esp + 0x14]
push esi
call ecx
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6e9fb0
nop
mov eax, dword [0xa187cc]
mov ecx, dword [0xa186cc]
mov edi, dword [esp + 0x14]
or ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x1d690aad
lea ebp, [esp + 4]
push ebp
mov esi, dword [esp + 0x28]
push esi
push dword [esp + 0x3c]
push dword [esp + 0x2c]
call ecx
add esp, 0x14
mov ebp, dword [esp]
mov eax, dword [0xa18760]
mov ecx, dword [0xa186a4]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x684e82fe
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x2c], ebp
push ebp
push esi
call ecx
add esp, 0x18
mov ecx, dword [esp]
mov dword [esp + 0x30], ecx
test al, 1
nop
mov edx, dword [esp + 0x18]
jne 0x6ea125
mov eax, dword [esp + 4]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x14]
nop
mov eax, dword [0xa18764]
mov ecx, dword [0xa1865c]
sub ecx, edi
add ecx, eax
add ecx, edx
add ecx, 0xffffac23
call dword [0xa0535c]
push 0xd37c87a1
lea ebp, [esp + 4]
push ebp
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [0xa187d0]
mov ecx, dword [0xa18644]
or ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0x3d983c42
push ebp
push dword [esp + 0x14]
push esi
call ecx
mov edx, dword [esp + 0x28]
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6ea0b0
nop
mov eax, dword [0xa1873c]
mov ecx, dword [0xa18674]
mov edi, dword [esp + 0x14]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0xbe7d259b
lea ebx, [esp + 4]
push ebx
mov esi, dword [esp + 0x28]
push esi
push dword [esp + 0x3c]
push dword [esp + 0x2c]
call ecx
add esp, 0x14
mov ebp, dword [esp]
mov ecx, dword [0xa187a0]
add ecx, dword [esp + 0x10]
add ecx, edi
add ecx, dword [0xa186e0]
call dword [0xa0535c]
push 0x3cc4c183
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
push ebx
mov dword [esp + 0x1c], ebp
push ebp
push esi
call ecx
add esp, 0x18
mov ecx, dword [esp]
mov dword [esp + 0x1c], ecx
test al, 1
jne 0x6ea215
mov ebp, dword [esp + 4]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x14]
nop word [eax + eax]
nop
mov ecx, dword [0xa18754]
add ecx, dword [esp + 0x10]
add ecx, edi
add ecx, dword [0xa18700]
call dword [0xa0535c]
push 0x97416f52
push ebx
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, esp
mov eax, dword [0xa187ec]
mov ecx, dword [0xa186fc]
xor ecx, edi
sub ecx, dword [esp + 0x28]
add ecx, eax
call dword [0xa0535c]
push 0x97702c00
push ebx
push ebp
push esi
call ecx
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6ea1b0
nop
mov ecx, dword [0xa18720]
mov ebp, dword [esp + 0x10]
add ecx, ebp
mov edi, dword [esp + 0x14]
add ecx, edi
add ecx, dword [0xa186f0]
call dword [0xa0535c]
push 0x728b21cf
push ebx
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x1c]
call ecx
add esp, 0x14
mov esi, dword [esp]
mov ecx, dword [0xa187b8]
add ecx, ebp
add ecx, edi
add ecx, dword [0xa186a0]
call dword [0xa0535c]
push 0xe81ce956
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
push ebx
mov dword [esp + 0x1c], esi
push esi
push dword [esp + 0x34]
call ecx
add esp, 0x18
mov ecx, dword [esp]
mov dword [esp + 0x1c], ecx
test al, 1
jne 0x6ea30d
mov ebp, dword [esp + 4]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x14]
nop dword [eax]
nop
mov ecx, dword [0xa18798]
add ecx, dword [esp + 0x10]
add ecx, edi
add ecx, dword [0xa186e4]
call dword [0xa0535c]
push 0xe5ec3112
push ebx
push esi
call ecx
add esp, 0xc
mov ebx, dword [esp]
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push 0
call ebx
mov ebx, esp
mov eax, dword [0xa187b4]
mov ecx, dword [0xa186a8]
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
add ecx, eax
add ecx, 0xffffac23
call dword [0xa0535c]
push 0x16e642e7
push ebx
push ebp
push esi
call ecx
add esp, 0x10
mov esi, dword [esp]
test al, 1
je 0x6ea2a0
nop
mov ecx, dword [0xa1876c]
mov ebp, dword [esp + 0x10]
add ecx, ebp
mov edi, dword [esp + 0x14]
add ecx, edi
add ecx, dword [0xa186ac]
call dword [0xa0535c]
push 0x5c708246
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
push ebx
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x24]
call ecx
add esp, 0x1c
mov esi, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [0xa1878c]
mov ecx, dword [0xa1868c]
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
lea ebx, [eax + ecx]
add ebx, 0xffffac23
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push dword [esp + 0x30]
push esi
call ebx
mov eax, dword [0xa187c4]
mov ecx, dword [0xa18664]
xor ecx, edi
sub ecx, dword [esp + 0x28]
add ecx, eax
call dword [0xa0535c]
push 0x539eaea0
lea esi, [esp + 4]
push esi
mov ebx, dword [esp + 0x28]
push ebx
push dword [esp + 0x28]
push dword [esp + 0x1c]
call ecx
add esp, 0x14
mov eax, dword [esp]
mov dword [esp + 0x18], eax
mov ecx, dword [0xa187c8]
add ecx, ebp
add ecx, edi
add ecx, dword [0xa18658]
call dword [0xa0535c]
lea edx, [esp + 0x24]
push 0x10c3b301
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x10]
push eax
push edx
push esi
push dword [esp + 0x50]
push ebx
call ecx
add esp, 0x1c
mov eax, dword [esp]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [0xa187bc]
mov ecx, dword [0xa186f8]
xor ecx, edi
sub ecx, dword [esp + 0x28]
add ecx, eax
call dword [0xa0535c]
push 0x13bb9e86
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x2c]
push eax
push esi
mov ebx, dword [esp + 0x4c]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x34]
call ecx
add esp, 0x1c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 8]
add ebp, dword [0xa18748]
add ebp, edi
add ebp, dword [0xa186ec]
mov ecx, ebp
call dword [0xa0535c]
push 0x69d64a58
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x30]
push eax
push ebx
push esi
push dword [esp + 0x34]
call ebp
add esp, 0x1c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [0xa187d4]
mov ecx, dword [0xa1867c]
or ecx, edi
mov ebp, dword [esp + 0x28]
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0x6f850b4b
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x2c]
push eax
push ebx
push esi
push dword [esp + 0x30]
push dword [esp + 0x28]
call ecx
add esp, 0x1c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 8]
mov eax, dword [0xa18784]
mov ecx, dword [0xa18688]
xor ecx, edi
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0xae339e2b
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x2c]
push eax
push ebx
push esi
push dword [esp + 0x24]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 8]
mov eax, dword [0xa1875c]
mov ecx, dword [0xa1869c]
xor ecx, edi
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0xbf9f7b4c
lea esi, [esp + 4]
push esi
push dword [esp + 0x14]
push dword [esp + 0x24]
push ebx
push dword [esp + 0x24]
call ecx
add esp, 0x18
mov ebx, dword [esp]
mov eax, dword [0xa187a8]
mov ecx, dword [0xa18650]
or ecx, edi
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0xeaa13c85
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc]
push eax
push esi
push dword [esp + 0x30]
push ebx
call ecx
add esp, 0x18
mov ebx, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x24]
mov eax, dword [0xa187c0]
mov ecx, dword [0xa186d4]
xor ecx, edi
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0xa77f514b
lea eax, [esp + 4]
push eax
push ebx
push esi
push dword [esp + 0x4c]
call ecx
add esp, 0x14
mov ebx, dword [esp]
mov eax, dword [0xa18750]
mov ecx, dword [0xa186b8]
xor ecx, edi
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0xcaaca9a3
lea eax, [esp + 8]
push eax
lea eax, [esp + 8]
push eax
push dword [esp + 0x38]
push dword [esp + 0x48]
push ebx
push dword [esp + 0x30]
call ecx
add esp, 0x1c
mov edi, dword [esp]
mov esi, dword [esp + 4]
mov eax, dword [0xa18744]
mov ecx, dword [0xa18694]
xor ecx, dword [esp + 0x14]
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0x60cd6f0f
push edi
mov ebx, esi
push esi
call ecx
add esp, 0xc
test al, 1
mov esi, esp
jne 0x6ea6c0
mov dword [esp + 0x18], edi
nop word cs:[eax + eax]
nop
mov eax, dword [0xa18728]
mov ecx, dword [0xa18690]
xor ecx, dword [esp + 0x14]
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0xca8f6064
push esi
push ebx
call ecx
add esp, 0xc
mov edi, ebp
mov ebp, esi
mov esi, dword [esp]
mov ecx, esi
call dword [0xa0535c]
mov ecx, ebx
push 0
call esi
mov esi, ebp
mov ebp, edi
mov edi, dword [esp + 0x18]
mov eax, dword [0xa187f0]
mov ecx, dword [0xa186dc]
xor ecx, dword [esp + 0x14]
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0xc01e0f8e
push esi
push edi
push ebx
call ecx
add esp, 0x10
mov ebx, dword [esp]
test al, 1
je 0x6ea650
nop
mov eax, dword [0xa187dc]
mov ecx, dword [0xa186b0]
mov edi, dword [esp + 0x14]
or ecx, edi
sub ecx, ebp
add ecx, eax
call dword [0xa0535c]
push 0x7e37596a
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x10]
push eax
push esi
push dword [esp + 0x34]
push dword [esp + 0x50]
push dword [esp + 0x48]
call ecx
add esp, 0x20
mov esi, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [0xa18778]
mov ebx, dword [0xa18654]
xor ebx, edi
sub ebx, ebp
add ebx, eax
mov ecx, ebx
call dword [0xa0535c]
mov ecx, esi
push dword [esp + 0xc]
push esi
call ebx
mov eax, dword [0xa1877c]
xor edi, dword [0xa1864c]
sub edi, ebp
add edi, eax
mov ecx, edi
call dword [0xa0535c]
push 0xb6c4b6d6
lea eax, [esp + 4]
push eax
push dword [esp + 0x28]
push dword [esp + 0x1c]
push dword [esp + 0x28]
call edi
add esp, 0x14
mov eax, dword [esp]
mov dword [eax], 0
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret