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

Disassembly:
mov eax, 0x3890
call fcn.00b01cb8
mov eax, dword [esp + 0x3894]
push ebx
push ebp
push esi
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.00b0e737
mov ecx, dword [esp + 0x38a8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00b0e737
mov edx, dword [esp + 0x38ac]
lea ecx, [esp + 0x1c]
push edx
call fcn.00b0e737
mov eax, dword [esp + 0x38b0]
lea ecx, [esp + 0x40]
push eax
call fcn.00b0e737
mov ecx, dword [esp + 0x38b4]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00b0e737
mov edx, dword [esp + 0x38b8]
lea ecx, [esp + 0x34]
push edx
call fcn.00b0e737
mov eax, dword [esp + 0x38bc]
lea ecx, [esp + 0x30]
push eax
call fcn.00b0e737
lea ecx, [esp + 0x14]
call fcn.00b0d243
lea ecx, [esp + 0x14]
call fcn.00b0d1f7
lea ecx, [esp + 0x18]
call fcn.00b0d243
lea ecx, [esp + 0x18]
call fcn.00b0d1f7
lea ecx, [esp + 0x1c]
call fcn.00b0d243
lea ecx, [esp + 0x1c]
call fcn.00b0d1f7
lea ecx, [esp + 0x3c]
push 0x1e
push ecx
lea ecx, [esp + 0x1c]
call fcn.00b0ce09
mov edx, dword [eax]
push edx
push 0x1007b0d4
push 0x1007fa1c
call fcn.00b01669
add esp, 0xc
lea ecx, [esp + 0x3c]
call fcn.00b0e6c9
lea eax, [esp + 0x3c]
push 0x28
push eax
lea ecx, [esp + 0x20]
call fcn.00b0ce09
mov ecx, dword [eax]
push ecx
push 0x1007b0d4
push 0x1007f9f0
call fcn.00b01669
add esp, 0xc
lea ecx, [esp + 0x3c]
call fcn.00b0e6c9
lea edx, [esp + 0x3c]
push 0x1e
push edx
lea ecx, [esp + 0x24]
call fcn.00b0ce09
mov eax, dword [eax]
push eax
push 0x1007b0d4
push 0x1007f9d0
call fcn.00b01669
add esp, 0xc
lea ecx, [esp + 0x3c]
call fcn.00b0e6c9
test byte [esp + 0x38c0], 1
je 0xaf9265
push 0x1007fa84
lea ecx, [esp + 0x24]
call fcn.00b0e737
lea ecx, [esp + 0x20]
push 1
push ecx
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00b0e43e
call fcn.00afcfe8
mov esi, eax
mov eax, dword [esp + 0x44]
push 0x1007fa84
push eax
call fcn.00b01ac1
add esp, 0x2c
test eax, eax
je 0xaf9210
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
push 0
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
call fcn.00afb3c8
mov esi, eax
lea ecx, [esp + 0x20]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
lea ecx, [esp + 0x14]
call fcn.00b0eb91
lea ecx, [esp + 0x18]
call fcn.00b0eb91
xor edx, edx
mov ecx, 0x10
mov dword [esp + 0x80], edx
xor eax, eax
lea edi, [esp + 0xfc]
mov dword [esp + 0x84], edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x88], edx
push eax
lea ecx, [esp + 0x100]
mov dword [esp + 0x90], edx
push 0x1007b0d4
push ecx
mov byte [esp + 0x9c], dl
call fcn.00b01669
lea edi, [esp + 0x108]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
xor esi, esi
lea edx, [esp + 0x80]
repne scasb al, byte es:[edi]
not ecx
push edx
push esi
dec ecx
push esi
lea eax, [esp + 0x108]
push ecx
push eax
call fcn.00ad7fa8
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0xfc]
push esi
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x100]
push 0x20
push ecx
lea edx, [esp + 0x8c]
push 0x10
push edx
call fcn.00adc7d8
xor eax, eax
cmp byte [esp + eax + 0xfc], 0x2b
jne 0xaf932f
mov byte [esp + eax + 0xfc], 0x2a
inc eax
cmp eax, 0x18
jl 0xaf931d
mov eax, dword [0x1007dbb0]
lea ecx, [esp + 0x28]
push ecx
mov dword [esp + 0x2c], eax
call fcn.00abd8a8
mov eax, dword [0x1007fa6c]
add esp, 4
cmp eax, esi
jle 0xaf947a
push 0x1007f2e0
lea ecx, [esp + 0x24]
call fcn.00b0e737
lea ecx, [esp + 0x20]
call fcn.00b0d243
push 0x20
lea ecx, [esp + 0x24]
call fcn.00b0eb44
cmp eax, esi
jle 0xaf939d
lea edx, [esp + 0x3c]
push eax
push edx
lea ecx, [esp + 0x28]
call fcn.00b0ce09
push eax
lea ecx, [esp + 0x24]
call fcn.00b0e7b6
lea ecx, [esp + 0x3c]
jmp 0xaf93d4
push 0x1007b37c
lea eax, [esp + 0x30]
push 1
push eax
lea ecx, [esp + 0x2c]
call fcn.00b0ce09
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.00b0e912
push eax
lea ecx, [esp + 0x24]
call fcn.00b0e7b6
lea ecx, [esp + 0x3c]
call fcn.00b0e6c9
lea ecx, [esp + 0x2c]
call fcn.00b0e6c9
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x30]
push 0x1007b36c
push ecx
call fcn.00b0d1e4
add esp, 0xc
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00b0e43e
call fcn.00abda98
add esp, 4
lea eax, [esp + 0x20]
lea ecx, [esp + 0x3c]
push 0x1007b360
push eax
push ecx
call fcn.00b0e912
mov eax, dword [eax]
push eax
call dword [0x1006f2b4]
lea ecx, [esp + 0x3c]
call fcn.00b0e6c9
lea edx, [esp + 0x20]
push 0x1007b360
lea eax, [esp + 0x40]
push edx
push eax
call fcn.00b0e912
mov eax, dword [eax]
push 3
push eax
call dword [0x1006f2b8]
lea ecx, [esp + 0x3c]
call fcn.00b0e6c9
lea ecx, [esp + 0x20]
mov dword [0x10080750], 1
mov dword [0x10080754], esi
call fcn.00b0e6c9
cmp dword [0x1007fa6c], esi
jne 0xaf94a6
lea ecx, [esp + 0x28]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
mov dword [0x10080750], esi
mov dword [0x10080754], esi
call fcn.00b0e43e
call fcn.00abce18
add esp, 8
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00b0e43e
call fcn.00ac4c68
mov ebx, eax
mov dword [esp + 0x40], ebx
call fcn.00ac5b28
xor ecx, ecx
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], ecx
push edx
mov dword [esp + 0x74], ecx
push 1
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x80], ecx
call fcn.00ac62e8
lea eax, [esp + 0x74]
push eax
call fcn.00b0cab8
mov ecx, 0x280
xor eax, eax
lea edi, [esp + 0x24b0]
add esp, 0x10
rep stosd dword es:[edi], eax
push 0x2d
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0
call fcn.00b0eb44
test eax, eax
jle 0xaf966f
mov ecx, dword [esp + 0x38c8]
mov edx, dword [esp + 0x38c4]
push ecx
push edx
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x114]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00b0e737
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00b0e43e
lea ecx, [esp + 0x50]
push ecx
call fcn.00af8728
add esp, 0x28
lea ecx, [esp + 0x30]
push eax
call fcn.00b0e7b6
lea ecx, [esp + 0x2c]
call fcn.00b0e6c9
mov edx, dword [esp + 0x30]
push 0x1007fa84
push edx
call fcn.00b01ac1
add esp, 8
test eax, eax
jne 0xaf9639
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 0xa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
lea eax, [esp + 0x2c]
push 0x7ff
push eax
lea ecx, [esp + 0x38]
call fcn.00b0ce09
mov ecx, dword [eax]
lea edx, [esp + 0x24a0]
push ecx
push 0x1007b0d4
push edx
call fcn.00b01669
add esp, 0xc
lea ecx, [esp + 0x2c]
call fcn.00b0e6c9
jmp 0xaf9689
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x24a0]
push eax
push 0x1007b0d4
push ecx
call fcn.00b01669
add esp, 0xc
mov edx, dword [esp + 0x30]
mov ebp, dword [edx - 8]
cmp ebp, 0x71
jge 0xaf96ed
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
push edx
mov ecx, 0x280
xor eax, eax
lea edi, [esp + 0x9fc]
lea edx, [esp + 0x9fc]
push 0x1007b0d4
rep stosd dword es:[edi], eax
push edx
call fcn.00b01669
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xec]
add esp, 0xc
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0x2c]
push 0x16
push eax
lea ecx, [esp + 0x38]
call fcn.00b0cd8d
mov ecx, dword [eax]
lea edx, [esp + 0xe0]
push ecx
push 0x1007b0d4
push edx
call fcn.00b01669
add esp, 0xc
lea ecx, [esp + 0x2c]
call fcn.00b0e6c9
mov ecx, 0x280
xor eax, eax
lea edi, [esp + 0x13f8]
sub ebp, 0x16
rep stosd dword es:[edi], eax
mov ecx, ebp
lea esi, [esp + 0x9f8]
mov eax, ecx
lea edi, [esp + 0x13f8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0x1007dbb0]
and ecx, 3
push 5
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x50], eax
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
call fcn.00b0cd8d
push eax
lea edx, [esp + 0x48]
push 5
push edx
lea ecx, [esp + 0x20]
call fcn.00b0ce09
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00b0e8ac
push eax
lea ecx, [esp + 0x50]
call fcn.00b0e7b6
lea ecx, [esp + 0x2c]
call fcn.00b0e6c9
lea ecx, [esp + 0x44]
call fcn.00b0e6c9
lea ecx, [esp + 0x48]
call fcn.00b0e6c9
lea ecx, [esp + 0x44]
push 5
push ecx
lea ecx, [esp + 0x1c]
call fcn.00b0cd8d
push eax
lea edx, [esp + 0x30]
push 5
push edx
lea ecx, [esp + 0x24]
call fcn.00b0ce09
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00b0e8ac
push eax
lea ecx, [esp + 0x54]
call fcn.00b0e7b6
lea ecx, [esp + 0x48]
call fcn.00b0e6c9
lea ecx, [esp + 0x2c]
call fcn.00b0e6c9
lea ecx, [esp + 0x44]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0eb91
lea ecx, [esp + 0x50]
call fcn.00b0eb91
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x58]
call fcn.00b0e806
mov al, byte [esp + 0x13f8]
cmp al, 0x41
jl 0xaf9876
cmp al, 0x5a
jg 0xaf9876
add al, 0x20
mov byte [esp + 0x13f8], al
jmp 0xaf98b1
cmp al, 0x61
jl 0xaf9889
cmp al, 0x7a
jg 0xaf9889
add al, 0xe0
mov byte [esp + 0x13f8], al
jmp 0xaf98b1
cmp al, 0x2b
jne 0xaf9897
mov byte [esp + 0x13f8], 0x3d
jmp 0xaf98b1
cmp al, 0x3d
jne 0xaf98a5
mov byte [esp + 0x13f8], 0x2f
jmp 0xaf98b1
cmp al, 0x2f
jne 0xaf98b1
mov byte [esp + 0x13f8], 0x2b
mov al, byte [esp + ebp + 0x13f6]
cmp al, 0x41
jl 0xaf98cb
cmp al, 0x5a
jg 0xaf98cb
add al, 0x20
mov byte [esp + ebp + 0x13f6], al
jmp 0xaf9906
cmp al, 0x61
jl 0xaf98de
cmp al, 0x7a
jg 0xaf98de
sub al, 0x20
mov byte [esp + ebp + 0x13f6], al
jmp 0xaf9906
cmp al, 0x2b
jne 0xaf98ec
mov byte [esp + ebp + 0x13f6], 0x3d
jmp 0xaf9906
cmp al, 0x3d
jne 0xaf98fa
mov byte [esp + ebp + 0x13f6], 0x2f
jmp 0xaf9906
cmp al, 0x2f
jne 0xaf9906
mov byte [esp + ebp + 0x13f6], 0x2b
mov ecx, 0x280
xor eax, eax
lea edi, [esp + 0x2ea0]
push 1
lea edx, [esp + 0x2ea4]
push 0xa00
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x1404]
push ebp
push eax
call fcn.00adc7d8
mov ecx, dword [0x1007dbb0]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x5c], ecx
mov ecx, 6
mov esi, 0x1007ce90
lea edi, [esp + 0xb0]
mov ebp, eax
mov eax, dword [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
lea ecx, [esp + 0x64]
push 0x1007bc80
push ecx
mov byte [esp + 0xd8], 0
call fcn.00b0d1e4
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
add esp, 0x10
mov eax, 2
lea ecx, [edx + 2]
sub esi, edx
mov dl, byte [esi + ecx]
xor dl, byte [ecx]
xor byte [esp + eax + 0xb0], dl
inc eax
inc ecx
cmp eax, 0x17
jl 0xaf9988
lea eax, [esp + 0xb0]
push 1
push eax
lea ecx, [esp + 0x2ea8]
push ebp
push ecx
call fcn.00adc8d8
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xb0]
lea esi, [esp + 0x2ea0]
rep stosd dword es:[edi], eax
mov ecx, ebp
lea edi, [esp + 0x13f8]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x13f8]
or ecx, 0xffffffff
mov byte [esp + ebp + 0x13f8], al
mov esi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x9f8]
mov ebp, ecx
mov ecx, 0x280
rep stosd dword es:[edi], eax
mov eax, 0x899c0f61
mov ecx, dword [esp + 0x50]
mul ebx
mov eax, dword [esp + 0x54]
sub esi, edx
shr esi, 1
add esi, edx
mov edx, dword [esp + 0x4c]
shr esi, 9
push eax
push ecx
mov ecx, dword [esp + 0x28]
push esi
lea eax, [esp + 0x1404]
push edx
push eax
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x7c]
push ecx
push edx
push eax
lea ecx, [esp + 0xa18]
push 0x1007bc6c
push ecx
mov dword [esp + 0x70], ebp
call fcn.00b01669
lea edi, [esp + 0xa20]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x28
repne scasb al, byte es:[edi]
lea edx, [esp + 0xcc]
lea eax, [esp + 0x9f8]
not ecx
push edx
push 0xb
dec ecx
push 0x1007bc58
push ecx
push eax
call fcn.00ad7fa8
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x9f8]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x9fc]
push 0x20
push ecx
push 0x10
lea edx, [esp + 0xdc]
push edx
call fcn.00adc7d8
mov byte [esp + 0xa0e], 0
xor eax, eax
cmp byte [esp + eax + 0x9f8], 0x2b
jne 0xaf9acd
mov byte [esp + eax + 0x9f8], 0x40
inc eax
cmp eax, 0x16
jl 0xaf9abb
lea edi, [esp + 0xe0]
lea eax, [esp + 0x9f8]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0xaf9b09
test cl, cl
je 0xaf9b05
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0xaf9b09
add eax, 2
add edi, 2
test cl, cl
jne 0xaf9ae1
xor eax, eax
jmp 0xaf9b0e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0xaf9cb1
mov ecx, 0x280
xor eax, eax
lea edi, [esp + 0x9f8]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x68]
push eax
call fcn.00b029b4
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push ecx
push edx
mov edx, dword [esp + 0x2c]
push esi
lea ecx, [esp + 0x1408]
push eax
push ecx
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x80]
push edx
push eax
push ecx
lea edx, [esp + 0xa1c]
push 0x1007bc6c
push edx
call fcn.00b01669
add esp, 0x2c
lea eax, [esp + 0xcc]
lea edi, [esp + 0x9f8]
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push 0xb
dec ecx
push 0x1007bc58
push ecx
lea ecx, [esp + 0xa08]
push ecx
call fcn.00ad7fa8
xor eax, eax
mov ecx, 8
lea edi, [esp + 0x9f8]
push eax
lea edx, [esp + 0x9fc]
push 0x20
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0xd8]
push 0x10
push eax
call fcn.00adc7d8
mov byte [esp + 0xa0e], 0
xor eax, eax
cmp byte [esp + eax + 0x9f8], 0x2b
jne 0xaf9be3
mov byte [esp + eax + 0x9f8], 0x40
inc eax
cmp eax, 0x16
jl 0xaf9bd1
lea esi, [esp + 0xe0]
lea eax, [esp + 0x9f8]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0xaf9c1f
test cl, cl
je 0xaf9c1b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0xaf9c1f
add eax, 2
add esi, 2
test cl, cl
jne 0xaf9bf7
xor eax, eax
jmp 0xaf9c24
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0xaf9ca4
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
lea eax, [esp + 0x68]
push eax
call fcn.00b0cab8
add esp, 4
mov ecx, 0x280
xor eax, eax
lea edi, [esp + 0x9f8]
mov dword [esp + 0x2c], 0
rep stosd dword es:[edi], eax
xor edi, edi
test ebp, ebp
jle 0xaf9d35
lea ecx, [esp + edi + 0x13f8]
push 1
push ecx
call fcn.00ad2538
add esp, 8
test eax, eax
je 0xaf9e86
cmp ebp, 2
jl 0xaf9f02
test eax, eax
jbe 0xaf9d1c
mov ecx, dword [esp + 0x2c]
mov dl, byte [esp + edi + 0x13f9]
mov bl, byte [esp + edi + 0x13fa]
mov esi, eax
lea ecx, [esp + ecx + 0x9f9]
mov byte [ecx - 1], dl
mov byte [ecx], bl
add ecx, 2
dec esi
jne 0xaf9d11
mov edx, dword [esp + 0x2c]
add edi, 3
sub ebp, 3
lea eax, [edx + eax*2]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
cmp edi, eax
jl 0xaf9ccf
mov ecx, 0x280
lea esi, [esp + 0x9f8]
lea edi, [esp + 0x13f8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x94]
call fcn.00b00801
mov ecx, dword [0x1007dbb0]
lea edx, [esp + 0x13c]
mov dword [esp + 0x24], ecx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x13c]
push edx
push 0x1007b380
rep stosd dword es:[edi], eax
call fcn.00afcc48
add esp, 8
lea eax, [esp + 0x24]
lea ecx, [esp + 0x13c]
lea edx, [esp + 0x18]
push eax
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.00b0e43e
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x1007fa84
call fcn.00b0e737
call fcn.00ac6908
mov eax, dword [esp + 0x3c]
push 0x1007fa84
push eax
call fcn.00b01ac1
add esp, 0x20
lea ecx, [esp + 0x24]
test eax, eax
jne 0xaf9f7e
call fcn.00b0e6c9
lea ecx, [esp + 0x94]
call fcn.00b0083e
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
call fcn.00b0eb91
lea ecx, [esp + 0x24]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
call fcn.00b0e8ac
mov eax, dword [eax]
push 0
push eax
lea ecx, [esp + 0x9c]
call fcn.00b008c4
test eax, eax
lea ecx, [esp + 0x48]
setne bl
call fcn.00b0e6c9
test bl, bl
je 0xafa0af
lea ecx, [esp + 0x24]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
call fcn.00b0e8ac
mov eax, dword [eax]
push eax
call dword [0x1006f2b4]
lea ecx, [esp + 0x48]
call fcn.00b0e6c9
lea ecx, [esp + 0x24]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
call fcn.00b0e8ac
mov eax, dword [eax]
push 0x1007b71c
push eax
call fcn.00b01d95
add esp, 8
lea ecx, [esp + 0x48]
mov esi, eax
call fcn.00b0e6c9
test esi, esi
jne 0xafa0a6
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x10]
push 4
push edx
mov esi, dword [ecx - 8]
lea ecx, [esp + 0x2c]
call fcn.00b0cd8d
push eax
push 0x1007b718
lea ecx, [esp + 0x60]
call fcn.00b0e737
push eax
add esi, 0xfffffffb
lea eax, [esp + 0x80]
push esi
push eax
lea ecx, [esp + 0x34]
call fcn.00b0ce09
lea ecx, [esp + 0x4c]
push eax
push ecx
call fcn.00b0e8ac
lea edx, [esp + 0x4c]
push eax
push edx
call fcn.00b0e8ac
push eax
lea ecx, [esp + 0x28]
call fcn.00b0e7b6
lea ecx, [esp + 0x48]
call fcn.00b0e6c9
lea ecx, [esp + 0x44]
call fcn.00b0e6c9
lea ecx, [esp + 0x78]
call fcn.00b0e6c9
lea ecx, [esp + 0x58]
call fcn.00b0e6c9
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
jmp 0xafa0af
push esi
call fcn.00b01ce7
add esp, 4
lea eax, [esp + 0x24]
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
call fcn.00b0e8ac
mov eax, dword [eax]
push 0
push eax
lea ecx, [esp + 0x9c]
call fcn.00b008c4
test eax, eax
lea ecx, [esp + 0x10]
sete bl
call fcn.00b0e6c9
test bl, bl
je 0xafa157
mov ecx, 0x1ef
xor eax, eax
lea edi, [esp + 0x23c]
rep stosd dword es:[edi], eax
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00b0e43e
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0xafa22c
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38b8]
push 0
push 1
push ecx
mov ecx, dword [esp + 0x38c0]
lea edx, [esp + 0x1c]
push 1
push edx
mov edx, dword [esp + 0x38c0]
push 0
push eax
mov eax, dword [esp + 0x38c4]
push ecx
mov ecx, dword [esp + 0x38c4]
push edx
push eax
lea edx, [esp + 0x264]
push ecx
push edx
push ecx
lea ecx, [esp + 0x58]
mov eax, esp
mov dword [esp + 0x44], esp
lea edx, [esp + 0x5c]
push ecx
push edx
push eax
call fcn.00b0e8ac
call fcn.00acca88
add esp, 0x34
test eax, eax
je 0xafa246
mov ecx, 0x1ef
xor eax, eax
lea edi, [esp + 0x23c]
rep stosd dword es:[edi], eax
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x68], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
call fcn.00b0e43e
push ecx
mov ecx, esp
mov dword [esp + 0x70], esp
lea edx, [esp + 0x3c]
push edx
call fcn.00b0e43e
lea eax, [esp + 0x254]
push eax
call fcn.00af2b18
add esp, 0x1c
mov ebp, dword [esp + 0x485]
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x9f8]
rep stosd dword es:[edi], eax
and ebp, 0xff
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x13f8]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x3c
jl 0xafa26c
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x5f8]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
lea ecx, [esp + 0x1440]
push 2
push ecx
call fcn.00ad2538
lea edx, [esp + 0x144a]
push 2
push edx
mov dword [esp + 0x60], eax
call fcn.00ad2538
add esp, 0x1c
mov ebx, eax
lea eax, [esp + 0x10]
mov byte [esp + 0x485], bl
push eax
call fcn.00b0d379
mov ecx, dword [eax]
xor eax, eax
cmp ebp, eax
mov dword [esp + 0x7c], ecx
je 0xafa334
cmp ebx, eax
jne 0xafa334
lea edx, [esp + 0x10]
push 0x1007b70c
push edx
lea ecx, [esp + 0x84]
mov byte [esp + 0x48c], al
mov dword [esp + 0x4a4], eax
mov dword [esp + 0x4a8], eax
call fcn.00b0d3bb
mov eax, dword [eax]
push eax
lea eax, [esp + 0x4a8]
push eax
call fcn.00b01669
add esp, 8
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
jmp 0xafa33f
mov cl, byte [esp + 0x44]
mov byte [esp + 0x484], cl
lea edx, [esp + 0x1438]
push 8
push edx
call fcn.00ad2538
mov dword [esp + 0x490], eax
lea eax, [esp + 0x1448]
push 8
push eax
call fcn.00ad2538
lea ecx, [esp + 0x1458]
push 2
push ecx
mov dword [esp + 0x4a4], eax
call fcn.00ad2538
lea edx, [esp + 0x1462]
push 8
push edx
mov byte [esp + 0x4cf], al
call fcn.00ad2538
mov dword [esp + 0x4d0], eax
lea eax, [esp + 0x1472]
push 8
push eax
call fcn.00ad2538
lea ecx, [esp + 0x1482]
push 2
push ecx
mov dword [esp + 0x4e4], eax
call fcn.00ad2538
lea edx, [esp + 0x148c]
push 2
push edx
mov byte [esp + 0x4f0], al
call fcn.00ad2538
mov byte [esp + 0x4f1], al
lea eax, [esp + 0x1496]
push 8
push eax
call fcn.00ad2538
add esp, 0x40
lea ecx, [esp + 0x1466]
mov dword [esp + 0x4e4], eax
push 8
push ecx
call fcn.00ad2538
lea edx, [esp + 0x1476]
push 8
push edx
mov dword [esp + 0x51c], eax
call fcn.00ad2538
mov dword [esp + 0x4ec], eax
lea eax, [esp + 0x1486]
push 8
push eax
call fcn.00ad2538
mov dword [esp + 0x4f8], eax
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa10]
rep stosd dword es:[edi], eax
add esp, 0x18
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x147e]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x14
jl 0xafa450
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x490]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x1492]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x14
jl 0xafa4a3
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x4ba]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x14a6]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x100
jl 0xafa4f6
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x510]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x15a6]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x22
jl 0xafa54c
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x617]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x15c8]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x40
jl 0xafa59f
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x4e8]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x1608]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x100
jl 0xafa5f2
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x6f3]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x1708]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x1fe
jl 0xafa648
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x7f5]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x1906]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x100
jl 0xafa69e
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x976]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa04]
add esp, 0xc
rep stosd dword es:[edi], eax
xor esi, esi
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x1a06]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x14
jl 0xafa6f4
mov al, byte [esp + 0x4af]
mov ebp, 0x622
test al, 0x40
je 0xafa73e
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x4d0]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
add esp, 0xc
mov ebx, dword [esp + 0x2c]
cmp ebx, 0x722
jl 0xafa7a5
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x9f8]
xor esi, esi
rep stosd dword es:[edi], eax
lea edi, [esp + 0x9f8]
lea ecx, [esp + esi + 0x1a1a]
push 2
push ecx
call fcn.00ad2538
add esp, 8
mov byte [edi], al
add esi, 2
inc edi
cmp esi, 0x100
jl 0xafa763
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x774]
push edx
push 0x1007b0d4
push eax
mov ebp, 0x722
call fcn.00b01669
add esp, 0xc
lea ecx, [ebp + 0x100]
cmp ecx, ebx
jg 0xafa803
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x9f8]
lea esi, [esp + 0x9f8]
rep stosd dword es:[edi], eax
lea edi, [esp + ebp + 0x13f8]
mov ebp, 0x80
push 2
push edi
call fcn.00ad2538
add esp, 8
mov byte [esi], al
inc esi
add edi, 2
dec ebp
jne 0xafa7d2
lea edx, [esp + 0x9f8]
lea eax, [esp + 0x8f5]
push edx
push 0x1007b0d4
push eax
call fcn.00b01669
add esp, 0xc
xor esi, esi
lea ecx, [esp + 0x23c]
push esi
push ecx
call fcn.00ac7198
add esp, 8
test eax, eax
je 0xafa95f
test byte [esp + 0x484], 1
je 0xafa95f
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1df8]
push 8
rep stosd dword es:[edi], eax
lea edx, [esp + 0x14]
push 3
push edx
lea ecx, [esp + 0x30]
call fcn.00b0ccf7
mov eax, dword [eax]
lea ecx, [esp + 0x1df8]
push ecx
push eax
call fcn.00ac6d48
add esp, 8
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
push 8
lea edx, [esp + 0x14]
push 3
push edx
lea ecx, [esp + 0x30]
call fcn.00b0ccf7
mov eax, dword [eax]
lea ecx, [esp + 0x23a0]
push eax
push 0x1007b0d4
push ecx
call fcn.00b01669
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
lea edx, [esp + 0x13c]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x13c]
push edx
push 0x1007b6d4
rep stosd dword es:[edi], eax
call fcn.00afcc48
add esp, 8
lea eax, [esp + 0x10]
lea ecx, [esp + 0x58]
push 0x1007b6c0
push eax
push ecx
call fcn.00b0d379
mov ecx, eax
call fcn.00b0d3bb
mov edx, dword [eax]
lea eax, [esp + 0x1df8]
push edx
lea ecx, [esp + 0x140]
push eax
push ecx
call fcn.00afcbe8
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
lea edx, [esp + 0x13c]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x13c]
push edx
push 0x1007b698
rep stosd dword es:[edi], eax
call fcn.00afcc48
add esp, 8
lea eax, [esp + 0x10]
lea ecx, [esp + 0x58]
push 0x1007b6c0
push eax
push ecx
call fcn.00b0d379
mov ecx, eax
call fcn.00b0d3bb
mov edx, dword [eax]
lea eax, [esp + 0x23a0]
push edx
push eax
lea ecx, [esp + 0x144]
push ecx
call fcn.00afcbe8
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
mov al, byte [esp + 0x4af]
and al, 0x80
je 0xafa971
test byte [esp + 0x44], 0x80
je 0xafa980
mov dword [esp + 0x4cc], esi
mov byte [esp + 0x4d0], 0
test al, al
je 0xafa98b
test byte [esp + 0x44], 0x80
je 0xafa992
mov dword [esp + 0x4c8], esi
lea edi, [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x3c]
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x62c], ebx
not ecx
dec ecx
mov dword [esp + 0x630], edx
je 0xafa9d2
lea eax, [esp + 0x68]
lea ecx, [esp + 0x634]
push eax
push 0x1007b0d4
push ecx
call fcn.00b01669
add esp, 0xc
mov edx, dword [esp + 0x38b0]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, edx
shr ecx, 8
mov byte [esp + 0x1efb], cl
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, edx
mov byte [esp + 0x1efc], cl
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, edx
mov eax, ecx
lea edi, [esp + 0x1efd]
shr ecx, 2
mov byte [esp + 0x1ef8], 0
mov byte [esp + 0x1ef9], 1
mov byte [esp + 0x1efa], 1
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x24a0]
mov ebp, ecx
or ecx, 0xffffffff
add ebp, 5
lea esi, [esp + 0x24a0]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x24a0]
shr ecx, 8
mov byte [esp + ebp + 0x1ef8], cl
or ecx, 0xffffffff
inc ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x24a0]
mov byte [esp + ebp + 0x1ef8], cl
or ecx, 0xffffffff
inc ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + ebp + 0x1ef8]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x24a0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ebp, ecx
push ebp
push 0x1007b5c0
lea eax, [esp + ebp + 0x1f00]
push eax
call fcn.00b01669
add esp, 0xc
add ebp, 4
push ebx
lea ecx, [esp + 0x1efc]
push ebp
push ecx
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00b0e43e
lea eax, [esp + 0x254]
push 1
push eax
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x34], esp
lea eax, [esp + 0x4c]
push edx
push eax
push ecx
call fcn.00b0e8ac
call fcn.00acfcb8
add esp, 0x24
test eax, eax
je 0xafabcf
lea ecx, [esp + 0x24]
call fcn.00b0e6c9
lea ecx, [esp + 0x94]
call fcn.00b0083e
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
lea ecx, [esp + 0x13c]
push 0x100
push ecx
call fcn.00ad1378
mov edx, dword [0x1007dbb0]
add esp, 8
cmp eax, 0x100
mov dword [esp + 0x64], edx
jle 0xafac05
push 0x1007b694
lea ecx, [esp + 0x68]
call fcn.00b0e806
jmp 0xafac58
mov byte [esp + eax + 0x13c], 0
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x68]
call fcn.00b0e806
push 0x1007b2ac
lea ecx, [esp + 0x5c]
call fcn.00b0e737
lea ecx, [esp + 0x64]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
call fcn.00b0e8ac
push eax
lea ecx, [esp + 0x68]
call fcn.00b0e7b6
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
lea ecx, [esp + 0x58]
call fcn.00b0e6c9
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x13c]
push eax
push 0x1007b380
call fcn.00afcc48
add esp, 8
lea ecx, [esp + 0x24]
lea edx, [esp + 0x13c]
lea eax, [esp + 0x14]
push ecx
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00b0e43e
call fcn.00ac6908
mov eax, dword [esp + 0x3c]
push 0x1007fa84
push eax
call fcn.00b01ac1
add esp, 0x20
test eax, eax
jne 0xafad87
lea ecx, [esp + 0x64]
call fcn.00b0e6c9
lea ecx, [esp + 0x24]
call fcn.00b0e6c9
lea ecx, [esp + 0x94]
call fcn.00b0083e
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
mov edx, dword [esp + 0x485]
mov ecx, dword [esp + 0x484]
mov eax, dword [esp + 0x488]
and edx, 0xff
mov dword [0x1007f748], edx
and ecx, 0xff
lea edx, [esp + 0x490]
mov dword [0x1007f840], ecx
mov ecx, dword [esp + 0x48c]
push edx
push 0x1007b0d4
push 0x1007f734
mov dword [0x1007fa44], 0
mov dword [0x1007f744], eax
mov dword [0x1007f740], ecx
call fcn.00b01669
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x4ac]
mov edx, dword [esp + 0x4e8]
mov dword [0x1007f730], eax
mov eax, dword [esp + 0x4ec]
mov dword [0x1007f72c], ecx
mov ecx, dword [esp + 0x4f0]
mov dword [0x1007f844], eax
mov dword [0x1007f7d4], ecx
mov ecx, 8
xor eax, eax
mov edi, 0x1007f7d8
rep stosd dword es:[edi], eax
mov dword [0x1007f848], edx
lea edx, [esp + 0x4f4]
push edx
push 0x1007b0d4
push 0x1007f7d8
stosb byte es:[edi], al
call fcn.00b01669
mov eax, dword [esp + 0x524]
lea ecx, [esp + 0x528]
push ecx
push 0x1007b0d4
push 0x1007f74c
mov dword [0x1007f7d0], eax
call fcn.00b01669
lea edx, [esp + 0x717]
push edx
push 0x1007b0d4
push 0x1007f6a8
call fcn.00b01669
lea eax, [esp + 0x7a4]
push eax
push 0x1007b0d4
push 0x1007f624
call fcn.00b01669
lea ecx, [esp + 0x831]
push ecx
push 0x1007b0d4
push 0x1007f524
call fcn.00b01669
add esp, 0x48
lea edx, [esp + 0x8f5]
push edx
push 0x1007b0d4
push 0x1007f4a0
call fcn.00b01669
lea eax, [esp + 0x982]
push eax
push 0x1007b0d4
push 0x1007f41c
call fcn.00b01669
lea ecx, [esp + 0x659]
push ecx
push 0x1007b0d4
push 0x1007f84c
call fcn.00b01669
lea edx, [esp + 0x63b]
push edx
push 0x1007b0d4
push 0x1007f408
call fcn.00b01669
mov eax, dword [esp + 0x4df]
and eax, 0xff
and eax, 0x8000007f
jns 0xafaf2b
dec eax
or eax, 0xffffff80
inc eax
mov ecx, dword [esp + 0x4f8]
mov edx, dword [esp + 0x4fc]
mov dword [0x1007f380], eax
lea eax, [esp + 0x4ea]
push eax
push 0x1007b0d4
push 0x1007f374
mov dword [0x1007f368], ecx
mov dword [0x1007f364], edx
call fcn.00b01669
lea ecx, [esp + 0x5ec]
lea edx, [esp + 0x5cd]
push ecx
lea eax, [esp + 0x619]
push edx
push eax
push 0x1007ba90
push 0x1007f7fc
call fcn.00b01669
add esp, 0x50
lea ecx, [esp + 0x60]
push 0x1007fa84
call fcn.00b0e737
mov edi, 0x1007f7fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
sub esi, 0x2f
test esi, esi
jle 0xafb0e7
lea edi, [esp + 0x5d9]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x591]
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x5b0]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
test esi, esi
jle 0xafb004
cmp edx, ebx
jg 0xafaff9
cmp ebx, ecx
jl 0xafaff5
dec ebx
jmp 0xafb001
cmp edx, ebx
jl 0xafb000
cmp edx, ecx
jl 0xafb000
dec edx
jmp 0xafb001
dec ecx
dec esi
jne 0xafafea
mov eax, dword [0x1007dbb0]
lea ecx, [esp + 0x5d9]
push ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x24], eax
call fcn.00b0e806
lea edx, [esp + 0x10]
push ebx
push edx
lea ecx, [esp + 0x34]
call fcn.00b0ce09
push eax
lea ecx, [esp + 0x30]
call fcn.00b0e7b6
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
lea eax, [esp + 0x591]
lea ecx, [esp + 0x44]
push eax
call fcn.00b0e806
lea ecx, [esp + 0x10]
push ebx
push ecx
lea ecx, [esp + 0x4c]
call fcn.00b0ce09
push eax
lea ecx, [esp + 0x48]
call fcn.00b0e7b6
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
lea edx, [esp + 0x5b0]
lea ecx, [esp + 0x20]
push edx
call fcn.00b0e806
lea eax, [esp + 0x10]
push ebx
push eax
lea ecx, [esp + 0x28]
call fcn.00b0ce09
push eax
lea ecx, [esp + 0x24]
call fcn.00b0e7b6
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
push 0x1007ba90
push 0x1007f7fc
call fcn.00b01669
add esp, 0x14
lea ecx, [esp + 0x20]
call fcn.00b0e6c9
lea ecx, [esp + 0x44]
call fcn.00b0e6c9
lea ecx, [esp + 0x2c]
jmp 0xafb114
push 0x1007ba60
lea ecx, [esp + 0x64]
call fcn.00b0e806
neg esi
lea ecx, [esp + 0x10]
push esi
push ecx
lea ecx, [esp + 0x68]
call fcn.00b0ce09
push eax
lea ecx, [esp + 0x64]
call fcn.00b0e7b6
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
lea edx, [esp + 0x60]
push 0x1007f7fc
lea eax, [esp + 0x14]
push edx
push eax
call fcn.00b0e912
push eax
lea ecx, [esp + 0x64]
call fcn.00b0e7b6
lea ecx, [esp + 0x10]
call fcn.00b0e6c9
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x617]
push ecx
push edx
push 0x1007b734
push 0x1007f7fc
call fcn.00b01669
mov eax, dword [0x1007fa6c]
add esp, 0x10
test eax, eax
jne 0xafb284
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1ef8]
push eax
push ebp
push ecx
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00b0e43e
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00b0e43e
lea eax, [esp + 0x254]
push 0
push eax
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x34], esp
lea eax, [esp + 0x88]
push edx
push eax
push ecx
call fcn.00b0e8ac
call fcn.00acfcb8
add esp, 0x24
test eax, eax
je 0xafb284
lea ecx, [esp + 0x60]
call fcn.00b0e6c9
lea ecx, [esp + 0x64]
call fcn.00b0e6c9
lea ecx, [esp + 0x24]
call fcn.00b0e6c9
lea ecx, [esp + 0x94]
call fcn.00b0083e
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
mov eax, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3890
ret
mov eax, dword [0x1007fa44]
test eax, eax
jne 0xafb29d
push 0x14
call fcn.00af1738
push eax
call fcn.00ad4b28
add esp, 4
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x13c]
push ecx
push 0x1007b0d4
push edx
call fcn.00b01669
add esp, 0xc
lea eax, [esp + 0x13c]
lea edx, [esp + 0x18]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.00b0e43e
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00b0e43e
call fcn.00abd5a8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push ecx
push edx
push 0x1007b670
call fcn.00afc9e8
mov esi, eax
add esp, 0x18
test esi, esi
je 0xafb320
lea eax, [esp + 0x13c]
push eax
push 0x1007c5a4
push esi
call fcn.00afcb18
add esp, 0xc
push esi
call dword [0x1006f01c]
lea ecx, [esp + 0x60]
call fcn.00b0e6c9
lea ecx, [esp + 0x64]
call fcn.00b0e6c9
lea ecx, [esp + 0x24]
call fcn.00b0e6c9
lea ecx, [esp + 0x94]
call fcn.00b0083e
lea ecx, [esp + 0x5c]
call fcn.00b0e6c9
lea ecx, [esp + 0x54]
call fcn.00b0e6c9
lea ecx, [esp + 0x50]
call fcn.00b0e6c9
lea ecx, [esp + 0x4c]
call fcn.00b0e6c9
lea ecx, [esp + 0x28]
call fcn.00b0e6c9
lea ecx, [esp + 0x30]
call fcn.00b0e6c9
lea ecx, [esp + 0x34]
call fcn.00b0e6c9
lea ecx, [esp + 0x38]
call fcn.00b0e6c9
lea ecx, [esp + 0x40]
call fcn.00b0e6c9
lea ecx, [esp + 0x1c]
call fcn.00b0e6c9
lea ecx, [esp + 0x18]
call fcn.00b0e6c9
lea ecx, [esp + 0x14]
call fcn.00b0e6c9
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3890
ret