Function at 0x796360
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [0xa47d50]
xor eax, ebp
mov dword [esp + 0x80], eax
call fcn.00798390
movzx edi, byte [0xa570d8]
mov edx, dword [0xa252c8]
mov ecx, dword [0xa25184]
or ecx, edi
mov ebx, 0x5181
mov dword [esp + 0x24], eax
sub ebx, eax
sub ecx, ebx
add ecx, edx
call dword [0xa0535c]
call ecx
mov dword [esp + 0x14], eax
mov eax, dword [0xa252cc]
mov ecx, dword [0xa251c4]
or ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
lea eax, [esp + 0x60]
lea edx, [esp + 0x57]
push 0xf54933d7
push eax
push edx
push dword [ebp + 8]
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x57]
mov dword [esp + 0x20], eax
movzx esi, byte [esp + 0x60]
mov eax, dword [0xa2527c]
mov ecx, dword [0xa250f0]
mov dword [esp], edi
xor ecx, edi
mov dword [esp + 4], ebx
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0xb996c5d1
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push esi
push dword [esp + 0x30]
call ecx
add esp, 0x14
xor edi, edi
test al, 1
jne 0x7974e5
mov eax, dword [0xa252bc]
mov ecx, dword [0xa250fc]
mov ebx, dword [esp]
sub ecx, ebx
add ecx, eax
mov eax, dword [esp + 0x24]
lea edi, [eax - 0x5181]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0x3daf015c
mov esi, dword [esp + 0x18]
push esi
call ecx
add esp, 8
test al, 1
mov dword [esp + 0x1c], edi
je 0x796506
mov ecx, dword [0xa25308]
add ecx, edi
add ecx, ebx
add ecx, dword [0xa25130]
call dword [0xa0535c]
lea eax, [esp + 0x50]
lea edx, [esp + 0x6c]
push 0x8adda51
push eax
push edx
call ecx
add esp, 0xc
mov eax, edi
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x50]
mov ecx, dword [0xa252b8]
add ecx, eax
add ecx, dword [esp]
add ecx, dword [0xa25158]
call dword [0xa0535c]
lea eax, [esp + 0x58]
push 0x68f13f72
lea edx, [esp + 0x64]
push edx
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x7c]
push eax
push ebx
mov ebx, dword [esp + 0x18]
push edi
call ecx
add esp, 0x1c
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
add ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov edi, dword [esp + 0x24]
jmp 0x79660d
mov eax, dword [0xa252e8]
mov ecx, dword [0xa250b8]
xor ecx, ebx
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
lea eax, [esp + 0x50]
lea edx, [esp + 0x6c]
push 0x639df655
push eax
push edx
call ecx
add esp, 0xc
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x50]
mov eax, dword [0xa2530c]
mov ecx, dword [0xa251bc]
or ecx, dword [esp]
sub ecx, esi
mov esi, dword [esp + 0x14]
add ecx, eax
call dword [0xa0535c]
lea eax, [esp + 0x58]
push 0x3e07b87e
lea edx, [esp + 0x64]
push edx
push eax
push esi
push ebx
push edi
call ecx
add esp, 0x18
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x64]
mov ecx, dword [0xa25274]
add ecx, dword [esp + 0x1c]
add ecx, dword [esp]
add ecx, dword [0xa251a8]
call dword [0xa0535c]
push 0xc206863d
lea eax, [esp + 0x70]
push eax
push esi
push edi
push dword [esp + 0x30]
push ebx
mov ebx, dword [esp + 0x18]
push dword [esp + 0x44]
call ecx
add esp, 0x1c
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov eax, dword [0xa25260]
mov ecx, dword [0xa25148]
sub ecx, ebx
add ecx, eax
mov edi, dword [esp + 0x24]
add ecx, edi
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0xba5f0fb5
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x58]
push eax
push esi
call ecx
add esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], eax
mov eax, dword [0xa25280]
mov ecx, dword [0xa25094]
sub ecx, ebx
add ecx, eax
add ecx, edi
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0x7e59f2e7
mov edi, dword [ebp + 0x10]
push edi
push esi
call ecx
add esp, 0xc
test al, 1
je 0x796650
mov esi, dword [esp + 4]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
mov ebx, dword [ebp + 0xc]
jmp 0x79694c
mov eax, dword [0xa2529c]
mov ecx, dword [0xa25090]
mov ebx, dword [esp]
or ecx, ebx
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
lea eax, [esp + 0x6c]
lea edx, [esp + 0x50]
push 0x6542103b
push eax
push edx
mov eax, dword [ebp + 8]
push eax
push edi
mov edi, dword [esp + 0x28]
push edi
call ecx
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov ecx, dword [0xa252a8]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa250d0]
call dword [0xa0535c]
lea edx, [esp + 0x58]
lea esi, [esp + 0x70]
push 0xd87bc682
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x68]
push eax
push edx
lea eax, [esp + 0x7c]
push eax
push edi
push esi
mov esi, dword [esp + 0x20]
push dword [ebp + 8]
call ecx
add esp, 0x20
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x50]
lea eax, [esp + eax*4]
add eax, 0x70
mov dword [esp + 0x38], eax
xor edi, 0x386d45e8
mov dword [esp + 0x3c], edi
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [esp]
nop word [eax + eax]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
call dword [0xa0535c]
mov ebx, esi
lea esi, [esp + 0x70]
push esi
push dword [esp + 0x1c]
push dword [ebp + 8]
call ecx
add esp, 0xc
mov eax, dword [0xa25290]
mov ecx, dword [0xa250bc]
xor ecx, edi
sub ecx, ebx
add ecx, eax
call dword [0xa0535c]
push 0xb94a2f45
push dword [esp + 0x30]
push esi
mov esi, dword [esp + 0x2c]
push esi
call ecx
add esp, 0x10
mov ecx, dword [0xa25294]
add ecx, dword [esp + 0x1c]
add ecx, edi
add ecx, dword [0xa25198]
call dword [0xa0535c]
push 0x7f9e7b57
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x30]
push esi
mov ebx, esi
call ecx
add esp, 0x10
mov esi, dword [esp + 0x50]
mov eax, dword [0xa251ec]
mov ecx, dword [0xa251cc]
xor ecx, edi
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x53ed13c5
lea eax, [esp + 0x54]
push eax
push ebx
push esi
mov ebx, dword [esp + 0x3c]
push ebx
call ecx
add esp, 0x14
mov esi, dword [esp + 0x50]
mov ecx, dword [0xa25314]
add ecx, dword [esp + 0x1c]
add ecx, edi
add ecx, dword [0xa25104]
call dword [0xa0535c]
push 0xabc9a238
push ebx
push esi
push dword [esp + 0x40]
call ecx
add esp, 0x10
mov eax, dword [0xa25234]
mov ecx, dword [0xa250c0]
xor ecx, edi
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x2840e1f6
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x44]
push dword [esp + 0x30]
push dword [esp + 0x28]
call ecx
add esp, 0x18
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x58]
mov eax, dword [0xa2522c]
mov ecx, dword [0xa2517c]
xor ecx, edi
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x49953de9
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push ebx
push esi
call ecx
add esp, 0x14
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x58]
mov eax, dword [0xa25304]
mov ecx, dword [0xa251b0]
xor ecx, edi
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x43703d1e
mov ebx, dword [esp + 0x30]
push ebx
push dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x14]
push dword [esp + 0x1c]
call ecx
add esp, 0x14
mov eax, dword [0xa252a0]
mov ecx, dword [0xa250f8]
or ecx, edi
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x20]
call ecx
add esp, 0xc
mov eax, dword [0xa252f8]
mov ecx, dword [0xa25108]
or ecx, edi
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0x450bf798
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x28]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x58]
mov ecx, dword [0xa251fc]
add ecx, dword [esp + 0x1c]
add ecx, edi
add ecx, dword [0xa25100]
call dword [0xa0535c]
push 0xaa895346
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x10]
call ecx
add esp, 0xc
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
test al, 1
je 0x796720
mov dword [esp + 0x20], ebx
mov eax, dword [0xa25310]
mov ecx, dword [0xa251c8]
mov ebx, dword [esp]
xor ecx, ebx
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
lea eax, [esp + 0x50]
push 0xb9aa5938
push eax
mov edi, dword [ebp + 0x10]
push edi
push dword [esp + 0x20]
call ecx
add esp, 0x10
mov edx, esi
mov esi, dword [esp + 0x50]
mov eax, dword [0xa252e4]
mov ecx, dword [0xa251b8]
or ecx, ebx
sub ecx, edx
add ecx, eax
call dword [0xa0535c]
push 0x4c7d5241
lea eax, [esp + 0x54]
push eax
push edi
push esi
call ecx
add esp, 0x10
test al, 1
jne 0x7974e5
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [0xa2524c]
mov ecx, dword [0xa25188]
sub ecx, ebx
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
lea eax, [esp + 0x58]
push 0xd301fa4e
push eax
lea eax, [esp + 0x58]
push eax
mov edi, dword [esp + 0x20]
push edi
call ecx
add esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x58]
mov eax, dword [0xa252b0]
mov ecx, dword [0xa25150]
xor ecx, ebx
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x509c3500
lea eax, [esp + 0x54]
push eax
push edi
push esi
call ecx
add esp, 0x10
mov edi, dword [esp + 0x50]
mov dword [esp + 0x18], edi
mov eax, dword [0xa252dc]
mov ecx, dword [0xa25154]
or ecx, ebx
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0x1dfeb7fd
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push edi
mov edi, dword [esp + 0x1c]
push edi
call ecx
add esp, 0x18
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [0xa25240]
mov ecx, dword [0xa2518c]
xor ecx, dword [esp]
sub ecx, esi
add ecx, eax
mov dword [0xa262e0], 0xd8a7699a
call dword [0xa0535c]
push 0x10959feb
lea eax, [esp + 0x54]
push eax
push ebx
mov ebx, dword [esp + 0xc]
push edi
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x30]
call ecx
add esp, 0x1c
mov esi, dword [esp + 0x50]
mov eax, dword [0xa25264]
mov ecx, dword [0xa2509c]
sub ecx, ebx
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0xfb9067d
lea eax, [esp + 0x5b]
push eax
push esi
call ecx
add esp, 0xc
movzx ecx, byte [esp + 0x57]
mov byte [esp + 0x33], cl
mov dword [esp + 0x28], 0
test al, 1
mov esi, dword [esp + 4]
jne 0x796b5f
mov edx, dword [esp + 0x48]
mov edi, dword [edx]
mov eax, dword [0xa25300]
mov ecx, dword [0xa250b4]
xor ecx, ebx
sub ecx, esi
add ecx, eax
add edi, edx
call dword [0xa0535c]
push 0x5fa84e03
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x48]
push edi
lea edi, [esp + 0x67]
call ecx
add esp, 0x10
xor edx, edx
mov dword [esp + 0x28], 0
test al, 1
je 0x7974fd
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x10]
lea edi, [esi + 0x28]
call dword [0xa0535c]
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x40], edi
push edi
push esi
call ecx
add esp, 0xc
mov eax, dword [0xa252c0]
mov ecx, dword [0xa250a0]
sub ecx, ebx
add ecx, eax
mov esi, dword [esp + 0x24]
add ecx, esi
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0x491a3057
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
mov edi, dword [esp + 0x24]
push edi
mov eax, dword [ebp + 0x10]
push eax
call ecx
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [0xa25254]
mov ecx, dword [0xa250cc]
sub ecx, dword [esp]
add ecx, eax
add ecx, esi
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0x32c9d838
lea eax, [esp + 0x54]
push eax
push ebx
push dword [esp + 0x14]
push dword [esp + 0x28]
push dword [ebp + 0x10]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov ecx, dword [0xa252a4]
add ecx, dword [esp + 0x1c]
add ecx, dword [esp]
add ecx, dword [0xa25138]
call dword [0xa0535c]
push 0x244f30
push dword [esp + 0x48]
push edi
call ecx
add esp, 0xc
test al, 1
mov eax, dword [esp + 0x20]
mov ebx, 0
jne 0x796fa6
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
xor ebx, ebx
xor ecx, ecx
nop
mov dword [esp + 0x18], ecx
movzx eax, byte [eax + ebx]
mov dword [esp + 0xc], eax
mov eax, dword [0xa25288]
mov ecx, dword [0xa25190]
mov esi, dword [esp]
or ecx, esi
sub ecx, dword [esp + 4]
add ecx, eax
lea edi, [esp + ebx]
add edi, 0x70
call dword [0xa0535c]
push 0x76449695
push ebx
push dword [esp + 0x34]
push dword [esp + 0x18]
push edi
call ecx
add esp, 0x14
mov eax, dword [0xa25248]
mov ecx, dword [0xa25124]
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0xd9e31a03
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push ebx
mov dword [esp + 0x18], ebx
call ecx
add esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov ecx, dword [0xa25214]
mov edi, dword [esp + 0x1c]
add ecx, edi
add ecx, esi
add ecx, dword [0xa250dc]
call dword [0xa0535c]
push 0xedb4c8c6
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push ebx
push dword [esp + 0x24]
push dword [esp + 0x24]
call ecx
add esp, 0x1c
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x60]
mov ecx, dword [0xa251e0]
add ecx, edi
add ecx, dword [esp]
add ecx, dword [0xa2513c]
call dword [0xa0535c]
push 0x1ee319a
lea edi, [esp + 0x64]
push edi
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x2c]
push esi
push ebx
push dword [esp + 0x24]
call ecx
add esp, 0x1c
mov ebx, dword [esp + 0x50]
movzx esi, byte [esp + 0x60]
mov eax, dword [0xa25220]
mov ecx, dword [0xa25118]
sub ecx, dword [esp]
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0x8ba3eeae
push edi
push esi
push ebx
lea eax, [esp + 0x80]
push eax
call ecx
add esp, 0x14
movzx eax, byte [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [0xa25208]
mov ecx, dword [0xa25160]
xor ecx, dword [esp]
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0x59fdbde2
push edi
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
push edi
push dword [esp + 0x20]
push ebx
mov ebx, dword [esp + 0x48]
push ebx
call ecx
add esp, 0x20
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [0xa251e8]
mov ecx, dword [0xa250e8]
sub ecx, dword [esp]
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0x2e02725a
push ebx
push dword [esp + 0x18]
push dword [esp + 0x18]
lea eax, [esp + 0x80]
push eax
call ecx
add esp, 0x14
mov eax, dword [0xa25258]
mov ecx, dword [0xa250ac]
xor ecx, dword [esp]
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0xf4012d7
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x2c]
push edi
push dword [esp + 0x28]
call ecx
add esp, 0x18
mov edi, dword [esp + 0x50]
movzx esi, byte [esp + 0x60]
mov ecx, dword [0xa25218]
add ecx, dword [esp + 0x1c]
add ecx, dword [esp]
add ecx, dword [0xa25134]
call dword [0xa0535c]
push 0x27dca76f
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x68]
push eax
push ebx
push esi
push edi
lea eax, [esp + 0x88]
push eax
call ecx
add esp, 0x1c
mov esi, dword [esp + 0x6c]
movzx ebx, byte [esp + 0x60]
mov eax, dword [0xa25320]
mov ecx, dword [0xa2511c]
or ecx, dword [esp]
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0xbd2d17bf
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x28]
push dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
push edi
push esi
push ebx
mov esi, dword [esp + 0x24]
call ecx
add esp, 0x24
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [0xa25284]
mov ecx, dword [0xa251b4]
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0x7b77ad60
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push edi
push dword [esp + 0x18]
push dword [esp + 0x2c]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x58]
mov ecx, dword [0xa251f8]
add ecx, dword [esp + 0x1c]
add ecx, esi
add ecx, dword [0xa25120]
call dword [0xa0535c]
push 0x3f95539c
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x40]
push edi
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov ecx, dword [esp + 0x50]
test al, 1
mov eax, dword [esp + 0x20]
je 0x796c60
mov dword [esp + 8], ebx
mov eax, dword [0xa2528c]
mov ecx, dword [0xa25164]
mov ebx, dword [esp]
or ecx, ebx
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0xea09958a
lea eax, [esp + 0x5b]
push eax
push dword [esp + 0x3c]
call ecx
add esp, 0xc
movzx eax, byte [esp + 0x57]
mov byte [esp + 0x18], al
mov ecx, dword [0xa25224]
mov edi, dword [esp + 0x1c]
add ecx, edi
add ecx, ebx
add ecx, dword [0xa2512c]
call dword [0xa0535c]
push 0x767c0a39
push dword [esp + 0x18]
call ecx
add esp, 8
test al, 1
je 0x7970ec
mov eax, dword [0xa252c4]
mov ecx, dword [0xa2515c]
or ecx, ebx
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
movzx eax, byte [esp + 0x33]
push 0x3d50a1ec
lea edx, [esp + 0x64]
push edx
lea edx, [esp + 0x60]
push edx
lea edx, [esp + 0x78]
push edx
push eax
call ecx
add esp, 0x14
movzx eax, word [esp + 0x58]
mov dword [esp + 0xc], eax
movzx edi, word [esp + 0x60]
mov edx, esi
movzx esi, word [esp + 0x6c]
mov eax, dword [0xa2523c]
mov ecx, dword [0xa251c0]
or ecx, ebx
sub ecx, edx
add ecx, eax
call dword [0xa0535c]
push 0xcf3e2c75
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x38]
push esi
push dword [esp + 0x2c]
push edi
push dword [esp + 0x2c]
call ecx
add esp, 0x24
movzx eax, word [esp + 0x60]
mov dword [esp + 0xc], eax
movzx esi, word [esp + 0x58]
movzx edi, word [esp + 0x6c]
mov ecx, dword [0xa25298]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa25140]
call dword [0xa0535c]
push 0xc97bec6d
lea eax, [esp + 0x5b]
push eax
push edi
push esi
push dword [esp + 0x1c]
call ecx
add esp, 0x14
movzx eax, byte [esp + 0x57]
mov byte [0xa570d8], al
jmp 0x7972db
mov eax, dword [0xa252ec]
mov ecx, dword [0xa250c4]
sub ecx, ebx
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
movzx eax, byte [esp + 0x33]
push 0x4433ea47
lea edx, [esp + 0x64]
push edx
lea edx, [esp + 0x60]
push edx
lea edx, [esp + 0x78]
push edx
mov edx, dword [esp + 0x24]
push edx
push eax
call ecx
add esp, 0x18
movzx esi, word [esp + 0x60]
movzx eax, word [esp + 0x58]
mov dword [esp + 0xc], eax
movzx eax, word [esp + 0x6c]
mov dword [esp + 0x10], eax
mov ecx, dword [0xa252f0]
add ecx, edi
add ecx, ebx
add ecx, dword [0xa25110]
call dword [0xa0535c]
push 0xec6824a9
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x1c]
push esi
call ecx
add esp, 0x10
movzx esi, word [esp + 0x6c]
mov ecx, dword [0xa2526c]
add ecx, edi
add ecx, ebx
add ecx, dword [0xa2510c]
call dword [0xa0535c]
push 0x42bbd620
lea edi, [esp + 0x70]
push edi
push esi
call ecx
add esp, 0xc
movzx eax, word [esp + 0x6c]
mov dword [esp + 0x38], eax
mov eax, dword [0xa2521c]
mov ecx, dword [0xa250b0]
or ecx, ebx
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0xed9f00e9
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
push edi
mov edi, dword [esp + 0x24]
push edi
mov esi, dword [esp + 0x3c]
push esi
push dword [esp + 0x28]
push dword [esp + 0x54]
push dword [esp + 0x2c]
call ecx
add esp, 0x24
movzx eax, word [esp + 0x60]
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x58]
mov dword [esp + 0x38], eax
movzx eax, word [esp + 0x6c]
mov dword [esp + 0xc], eax
mov ecx, dword [0xa252ac]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa25174]
call dword [0xa0535c]
push 0x863334c3
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x74]
push eax
push edi
push esi
push dword [esp + 0x4c]
push dword [esp + 0x28]
call ecx
add esp, 0x1c
movzx eax, word [esp + 0x6c]
mov dword [esp + 0x10], eax
movzx esi, word [esp + 0x58]
mov eax, dword [0xa2531c]
mov ecx, dword [0xa251a4]
xor ecx, ebx
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
call dword [0xa0535c]
push 0x7aa4652
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x14]
push esi
push dword [esp + 0x20]
call ecx
add esp, 0x14
movzx esi, word [esp + 0x6c]
mov eax, dword [0xa25204]
mov ecx, dword [0xa25194]
or ecx, ebx
sub ecx, edi
add ecx, eax
call dword [0xa0535c]
push 0x9327cd18
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x5f]
push eax
push esi
call ecx
add esp, 0x10
movzx esi, byte [esp + 0x57]
movzx edi, byte [esp + 0x60]
mov ecx, dword [0xa252d0]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa2514c]
call dword [0xa0535c]
push 0xef060742
push edi
push esi
call ecx
add esp, 0xc
test byte [esp + 0x18], 1
mov ebx, dword [esp]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 8]
jne 0x7973cc
xor edi, edi
nop word [eax + eax]
mov dword [esp + 8], edi
movzx eax, byte [ecx + esi]
mov dword [esp + 0x18], eax
mov eax, dword [0xa252fc]
mov ecx, dword [0xa251a0]
or ecx, ebx
sub ecx, edx
add ecx, eax
lea edi, [esp + esi]
add edi, 0x70
call dword [0xa0535c]
push 0xe69b3be2
push esi
push dword [esp + 0x34]
push dword [esp + 0x24]
push edi
call ecx
add esp, 0x14
mov eax, dword [0xa251f0]
mov ecx, dword [0xa2516c]
or ecx, ebx
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0xa7fb3377
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x18]
push dword [esp + 0x28]
push esi
call ecx
add esp, 0x1c
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x60]
mov ecx, dword [0xa25200]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa25144]
call dword [0xa0535c]
push 0xcdb4f2a4
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x14]
push edi
call ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
add esp, 0x14
mov edi, dword [esp + 0x50]
test al, 1
je 0x797300
mov ecx, dword [esp + 0x1c]
add ecx, dword [0xa251f4]
add ecx, ebx
add ecx, dword [0xa25098]
call dword [0xa0535c]
lea eax, [esp + 0x6c]
push 0xb60cff8d
push eax
mov eax, dword [ebp + 0x10]
push eax
mov esi, dword [esp + 0x20]
push esi
push dword [esp + 0x54]
push dword [esp + 0x40]
call ecx
add esp, 0x18
mov edi, dword [esp + 0x6c]
test al, 1
je 0x7974af
mov eax, dword [0xa25228]
mov ecx, dword [0xa25178]
xor ecx, ebx
mov ebx, esi
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x648a2598
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x58]
push eax
mov esi, dword [esp + 0x48]
push esi
mov eax, dword [ebp + 0x10]
push eax
push ebx
call ecx
add esp, 0x18
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
mov eax, dword [0xa251e4]
mov ecx, dword [0xa251ac]
or ecx, dword [esp]
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push ebx
push dword [esp + 0x24]
push esi
call ecx
add esp, 0xc
add esi, ebx
mov eax, dword [0xa252a0]
mov ecx, dword [0xa250f8]
sub ecx, dword [esp]
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
mov ebx, dword [ebp + 0x10]
sub edi, ebx
call dword [0xa0535c]
push ebx
push edi
push esi
call ecx
add esp, 0xc
mov edi, ebx
jmp 0x7974e5
mov eax, esi
xor eax, 0xc792ba08
add edi, eax
xor esi, 0x386d45e8
mov eax, dword [0xa252a0]
or ebx, dword [0xa250f8]
sub ebx, dword [esp + 4]
add ebx, eax
mov ecx, ebx
call dword [0xa0535c]
push esi
push edi
push dword [esp + 0x44]
call ebx
add esp, 0xc
mov edi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x80]
xor ecx, ebp
call fcn.008ea1d3
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
xor eax, 0x45fb
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0xc], 0
jmp 0x7975ab
mov esi, edi
mov eax, dword [0xa25318]
mov ecx, dword [0xa250a8]
or ecx, ebx
sub ecx, edi
add ecx, eax
call dword [0xa0535c]
push 0x12586786
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x20]
push dword [esp + 0x34]
call ecx
add esp, 0x10
movzx eax, word [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [0xa2520c]
mov ecx, dword [0xa25170]
or ecx, ebx
sub ecx, edi
add ecx, eax
call dword [0xa0535c]
push 0x30ba8862
lea edi, [esp + 0x5b]
push edi
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov edx, dword [esp + 0x50]
cmp byte [esp + 0x57], 0
jne 0x796b5f
mov dword [esp + 8], edx
mov eax, dword [0xa252f4]
mov ecx, dword [0xa25128]
xor ecx, ebx
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0x4c]
lea esi, [eax + edx]
call dword [0xa0535c]
push 0xf9b913f2
lea eax, [esp + 0x70]
push eax
push edi
lea eax, [esp + 0x64]
push eax
push esi
push dword [esp + 0x48]
push dword [esp + 0x28]
push 0
push esi
call ecx
add esp, 0x24
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
cmp byte [esp + 0x57], 0
movzx eax, word [eax]
mov dword [esp + 0x18], eax
je 0x7977ff
mov dword [esp + 0x10], ecx
mov ecx, dword [0xa252e0]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa250a4]
call dword [0xa0535c]
push 0xf065fc67
lea edi, [esp + 0x70]
push edi
push dword [esp + 0x44]
push esi
call ecx
add esp, 0x10
movzx eax, word [esp + 0x6c]
mov dword [esp + 0x38], eax
mov eax, dword [0xa252d8]
mov ecx, dword [0xa250f4]
or ecx, ebx
mov edx, dword [esp + 4]
sub ecx, edx
mov dword [esp + 0x34], esi
mov esi, edx
add ecx, eax
call dword [0xa0535c]
push 0xa35a92fd
push edi
push dword [esp + 0x20]
push dword [esp + 0x44]
call ecx
add esp, 0x10
movzx eax, word [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [0xa25210]
mov ecx, dword [0xa2519c]
or ecx, ebx
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0x16b3e72
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x44]
push dword [esp + 0x20]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x58]
mov ecx, dword [0xa2525c]
mov esi, dword [esp + 0x1c]
add ecx, esi
add ecx, ebx
add ecx, dword [0xa250e0]
call dword [0xa0535c]
push 0x4803553c
lea eax, [esp + 0x54]
push eax
push edi
mov edi, dword [esp + 0x20]
push edi
call ecx
add esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov ecx, dword [0xa252b4]
add ecx, esi
add ecx, ebx
add ecx, dword [0xa250c8]
call dword [0xa0535c]
push 0x28a523ff
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x18]
push edi
call ecx
add esp, 0x10
mov esi, dword [esp + 0x50]
mov ecx, dword [0xa25244]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa25180]
call dword [0xa0535c]
push 0x8f956d89
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push esi
push edi
call ecx
add esp, 0x14
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x58]
mov eax, dword [0xa25230]
mov ecx, dword [0xa250ec]
xor ecx, ebx
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x4ee735dd
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push edi
push esi
push dword [esp + 0x24]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x58]
mov eax, dword [0xa252d4]
mov ecx, dword [0xa250e4]
sub ecx, ebx
add ecx, eax
mov eax, dword [esp + 0x24]
add ecx, eax
add ecx, 0xffffae7f
call dword [0xa0535c]
push 0xe2f7d381
lea eax, [esp + 0x54]
push eax
push edi
push esi
push dword [esp + 0x20]
call ecx
add esp, 0x14
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
lea ecx, [eax + edx*4]
add ecx, dword [eax + edx*4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], 0
mov esi, dword [ebp + 8]
mov eax, dword [0xa25250]
mov ecx, dword [0xa25168]
xor ecx, ebx
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
call dword [0xa0535c]
push 0x22e8ff3f
push esi
call ecx
add esp, 8
test al, 1
jne 0x797530
mov ecx, dword [0xa25270]
add ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, dword [0xa250d8]
call dword [0xa0535c]
push 0x6111ae50
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x78]
push eax
mov edi, dword [esp + 0x28]
push edi
push dword [esp + 0x3c]
call ecx
add esp, 0x18
movzx eax, word [esp + 0x58]
mov dword [esp + 0x28], eax
movzx ebx, word [esp + 0x60]
movzx esi, word [esp + 0x6c]
mov eax, dword [0xa25238]
mov ecx, dword [0xa25114]
xor ecx, dword [esp]
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa0535c]
push 0x916ed436
lea eax, [esp + 0x70]
push eax
push esi
mov esi, dword [esp + 0x10]
push edi
push ebx
push dword [esp + 0x3c]
call ecx
add esp, 0x18
movzx eax, word [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [0xa25268]
mov ecx, dword [0xa250d4]
or ecx, dword [esp]
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0xe0c56e39
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
mov edi, dword [esp + 0x20]
push edi
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x58]
mov eax, dword [0xa25278]
mov ecx, dword [0xa251d0]
or ecx, dword [esp]
sub ecx, esi
add ecx, eax
call dword [0xa0535c]
push 0x58897f13
lea eax, [esp + 0x5b]
push eax
lea edx, [esp + 0x58]
push edx
push dword [esp + 0x4c]
push edi
mov edi, eax
push dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x1c]
call ecx
add esp, 0x1c
jmp 0x79759c