Function at 0x10060489
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x130
mov ebp, dword [esp + 0x158]
mov eax, dword [0x100c51b8]
xor eax, esp
mov dword [esp + 0x12c], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x48]
xor ecx, ecx
mov dword [eax], ecx
lea eax, [esp + 0x5c]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x144]
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x150]
push 0xc0
push ecx
push dword [esp + 0x48]
call fcn.1008c000
add esp, 0xc
cmp edi, 0x10
setne al
cmp dword [esp + 0x148], 0
sete cl
or cl, al
cmp dword [esp + 0x14c], 0
sete al
or al, cl
mov byte [esp + 0x36], al
cmp dword [esp + 0x154], 0
sete byte [esp + 0x37]
lea ecx, [ebp + 0xf]
test ebp, ebp
cmovns ecx, ebp
mov eax, ecx
and eax, 0xfffffff0
mov edx, ebp
sub edx, eax
mov dword [esp + 0x44], edx
sar ecx, 4
mov dword [esp + 0x50], ecx
cmp esi, 1
mov eax, 0xfebef53c
mov ecx, 0x96286286
cmove ecx, eax
mov dword [esp + 0x4c], ecx
lea eax, [ebp - 0x10]
mov dword [esp + 0x54], eax
mov eax, 0x47cfdfd5
cmp eax, 0x7b10fb9
jg 0x10060e85
cmp eax, 0xf1cb5fe7
jg 0x10060ec6
cmp eax, 0x8049499c
je 0x100616f5
cmp eax, 0x96286286
jne 0x10060551
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov eax, 0xb15ce290
cmp eax, 0x21471c3c
jle 0x100605bd
cmp eax, 0x4fb97c9d
jle 0x100605f4
cmp eax, 0x4fb97c9e
je 0x10060652
cmp eax, 0x6dc37e7c
je 0x10060660
cmp eax, 0x7bffda05
jne 0x10060586
mov esi, 2
mov eax, 0x4fb97c9e
jmp 0x10060586
cmp eax, 0xb15ce28f
jle 0x10060619
cmp eax, 0xb15ce290
je 0x10060de6
cmp eax, 0xbbac6ad8
je 0x10060dfd
cmp eax, 0xe22209de
jne 0x10060586
push dword [esp + 0x1c]
call fcn.1009e2e3
add esp, 4
mov eax, 0x7bffda05
jmp 0x10060586
cmp eax, 0x21471c3d
je 0x10060e07
cmp eax, 0x327eaa9d
jne 0x10060e70
mov esi, 3
mov eax, 0x4fb97c9e
jmp 0x10060586
cmp eax, 0x8711e915
je 0x10060e2b
cmp eax, 0xa9eb1998
jne 0x10060586
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov eax, ebp
sub eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x15c]
mov dword [ecx], eax
xor esi, esi
mov eax, 0x4fb97c9e
jmp 0x10060586
mov eax, 0x46d8fd3a
mov dword [esp + 0x38], esi
jmp 0x10060586
push ebp
push 0
push dword [esp + 0x24]
call fcn.1008c000
add esp, 0xc
push ebp
push dword [esp + 0x158]
push dword [esp + 0x24]
call fcn.1008ba80
add esp, 0xc
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x11c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
xor ecx, ecx
mov edx, 0xa476e513
cmp edx, 0x84ed1905
je 0x100606d6
cmp edx, 0xa39d74b0
je 0x10060e3c
cmp edx, 0xa476e513
jne 0x1006069d
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x30]
cmp edx, ebp
mov edx, 0xa39d74b0
mov edi, 0x84ed1905
cmovb edx, edi
jmp 0x1006069d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
mov ebp, dword [esp + 0x28]
xor ecx, ecx
mov eax, 0xa40e3390
cmp eax, 0x1a2d1cc
jg 0x10060718
cmp eax, 0xa40e3390
je 0x10060754
cmp eax, 0xdc296cf0
je 0x100607bb
cmp eax, 0xe66eb9c4
jne 0x100606ef
mov eax, 0x751136cf
xor edx, edx
jmp 0x100606ef
cmp eax, 0x1a2d1cd
je 0x1006077a
cmp eax, 0x31bfa97e
je 0x100607b0
cmp eax, 0x751136cf
jne 0x100606ef
mov byte [esp + 0x14], dl
movzx eax, byte [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 4
mov eax, 0x31bfa97e
mov edi, 0x1a2d1cd
cmovl eax, edi
jmp 0x100606ef
mov byte [esp + 2], cl
movzx eax, byte [esp + 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 4
mov eax, 0xdc296cf0
mov edi, 0xe66eb9c4
cmovl eax, edi
jmp 0x100606ef
mov eax, dword [esp + 0xc]
shl eax, 2
add eax, dword [esp + 4]
mov al, byte [esp + eax + 0xfc]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 4]
lea edx, [edx*4]
add edx, ebp
xor byte [edi + edx], al
mov dl, byte [esp + 0x14]
inc dl
mov eax, 0x751136cf
jmp 0x100606ef
mov cl, byte [esp + 2]
inc cl
jmp 0x100606ea
mov al, 9
mov ecx, 0x57e6473f
cmp ecx, 0xe77927f2
je 0x10060b7b
cmp ecx, 0xa355d8c
je 0x100607f6
cmp ecx, 0x57e6473f
jne 0x100607c2
mov byte [esp + 3], al
cmp byte [esp + 3], 0
mov ecx, 0xa355d8c
mov edx, 0xe77927f2
cmove ecx, edx
jmp 0x100607c2
mov al, byte [ebp + 0xd]
mov cl, byte [ebp + 9]
mov byte [ebp + 0xd], cl
mov cl, byte [ebp + 5]
mov byte [ebp + 9], cl
mov cl, byte [ebp + 1]
mov dl, byte [ebp + 2]
mov byte [ebp + 5], cl
mov byte [ebp + 1], al
mov al, byte [ebp + 0xa]
mov byte [ebp + 2], al
mov byte [ebp + 0xa], dl
mov al, byte [ebp + 6]
mov cl, byte [ebp + 0xe]
mov byte [ebp + 6], cl
mov byte [ebp + 0xe], al
mov al, byte [ebp + 3]
mov cl, byte [ebp + 7]
mov byte [ebp + 3], cl
mov cl, byte [ebp + 0xb]
mov byte [ebp + 7], cl
mov cl, byte [ebp + 0xf]
mov byte [ebp + 0xb], cl
mov byte [ebp + 0xf], al
xor ecx, ecx
mov eax, 0xa73a9e41
cmp eax, 0xffd31063
jg 0x1006088c
cmp eax, 0x88523a07
je 0x100608a3
cmp eax, 0xa73a9e41
je 0x100608c9
cmp eax, 0xd9670ca3
jne 0x10060845
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea eax, [eax*4]
add eax, ebp
movzx edi, byte [edx + eax]
mov bl, byte [edi + 0x100b56a8]
mov byte [edx + eax], bl
mov dl, byte [esp + 0x14]
inc dl
mov eax, 0x88523a07
jmp 0x10060845
cmp eax, 0xffd31064
je 0x100608ef
cmp eax, 0xa909a84
je 0x10060906
cmp eax, 0x61d554b0
jne 0x10060845
jmp 0x100608fb
mov byte [esp + 0x14], dl
movzx eax, byte [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 4
mov eax, 0x61d554b0
mov edi, 0xd9670ca3
cmovl eax, edi
jmp 0x10060845
mov byte [esp + 2], cl
movzx eax, byte [esp + 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 4
mov eax, 0xa909a84
mov edi, 0xffd31064
cmovl eax, edi
jmp 0x10060845
mov eax, 0x88523a07
xor edx, edx
jmp 0x10060845
mov cl, byte [esp + 2]
inc cl
jmp 0x10060840
movzx ecx, byte [esp + 3]
shl ecx, 4
xor edx, edx
mov eax, 0xa40e3390
cmp eax, 0x1a2d1cc
jg 0x1006093e
cmp eax, 0xa40e3390
je 0x1006097a
cmp eax, 0xdc296cf0
je 0x100609de
cmp eax, 0xe66eb9c4
jne 0x10060915
mov eax, 0x751136cf
xor ebx, ebx
jmp 0x10060915
cmp eax, 0x1a2d1cd
je 0x100609a0
cmp eax, 0x31bfa97e
je 0x100609d3
cmp eax, 0x751136cf
jne 0x10060915
mov byte [esp + 0x14], bl
movzx eax, byte [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 4
mov eax, 0x31bfa97e
mov edi, 0x1a2d1cd
cmovl eax, edi
jmp 0x10060915
mov byte [esp + 2], dl
movzx eax, byte [esp + 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 4
mov eax, 0xdc296cf0
mov edi, 0xe66eb9c4
cmovl eax, edi
jmp 0x10060915
mov eax, dword [esp + 0xc]
lea eax, [ecx + eax*4]
add eax, dword [esp + 4]
mov al, byte [esp + eax + 0x5c]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
lea edi, [edi*4]
add edi, ebp
xor byte [ebx + edi], al
mov bl, byte [esp + 0x14]
inc bl
mov eax, 0x751136cf
jmp 0x10060915
mov dl, byte [esp + 2]
inc dl
jmp 0x10060910
xor eax, eax
mov ecx, 0x962e97cb
cmp ecx, 0x19641441
je 0x10060a1b
cmp ecx, 0xd2b17c5b
je 0x10060b70
cmp ecx, 0x962e97cb
jne 0x100609e5
mov dword [esp + 4], eax
mov ecx, dword [esp + 4]
cmp ecx, 4
mov ecx, 0xd2b17c5b
mov edx, 0x19641441
cmovl ecx, edx
jmp 0x100609e5
mov edi, dword [esp + 4]
mov ah, byte [ebp + edi*4]
mov al, byte [ebp + edi*4 + 1]
mov bl, byte [ebp + edi*4 + 2]
mov cl, byte [ebp + edi*4 + 3]
mov byte [esp + 0x23], cl
mov bh, ah
mov dh, al
mov byte [esp + 0x13], al
mov byte [esp + 0xb], bl
mov ecx, ebx
xor cl, al
xor bl, ah
mov byte [esp + 0xa], bl
xor al, ah
mov byte [esp + 0x22], al
sar ah, 7
and ah, 0x1b
mov bl, bh
add bl, bh
xor ah, bl
sar bl, 7
and bl, 0x1b
mov ch, ah
add ch, ah
xor bl, ch
mov byte [esp + 0x35], bl
sar ch, 7
and ch, 0x1b
sar dh, 7
and dh, 0x1b
mov al, byte [esp + 0x13]
add al, al
mov byte [esp + 0x13], al
xor dh, al
mov bh, byte [esp + 0x23]
xor cl, bh
xor cl, ah
mov dl, cl
mov al, byte [esp + 0xb]
xor ah, al
mov cl, al
sar al, 7
and al, 0x1b
add cl, cl
xor al, cl
xor dl, dh
xor dl, bl
mov byte [esp + 0xb], dl
mov bl, byte [esp + 0xa]
xor bl, bh
xor bl, dh
xor bl, al
mov byte [esp + 0xa], bl
mov dl, al
xor al, bh
mov bh, byte [esp + 0x35]
xor al, bh
add bh, bh
xor bh, ch
mov bl, byte [esp + 0x13]
sar bl, 7
and bl, 0x1b
mov ch, dh
add ch, dh
xor bl, ch
sar ch, 7
and ch, 0x1b
xor byte [esp + 0xa], bl
xor ah, bl
mov dh, bl
add dh, bl
xor dh, ch
sar cl, 7
and cl, 0x1b
add dl, dl
xor cl, dl
sar dl, 7
and dl, 0x1b
xor byte [esp + 0xb], cl
xor al, cl
add cl, cl
xor cl, dl
mov ch, byte [esp + 0x23]
mov dl, ch
sar ch, 7
and ch, 0x1b
add dl, dl
xor ch, dl
sar dl, 7
and dl, 0x1b
xor byte [esp + 0x22], ch
add ch, ch
xor dl, ch
sar ch, 7
and ch, 0x1b
mov bl, dh
xor bl, dl
xor ah, dl
add dl, dl
xor dl, ch
xor byte [esp + 0xb], bh
mov ch, byte [esp + 0x22]
xor ch, bh
xor ch, dh
xor dh, cl
xor dh, byte [esp + 0xb]
xor dh, dl
mov byte [ebp + edi*4], dh
mov dh, byte [esp + 0xa]
xor dh, bh
xor bl, dh
xor ch, cl
xor cl, dl
xor cl, bl
mov byte [ebp + edi*4 + 1], cl
xor al, dl
xor al, ch
mov byte [ebp + edi*4 + 2], al
xor ah, dl
xor ah, ch
mov byte [ebp + edi*4 + 3], ah
mov eax, dword [esp + 4]
inc eax
jmp 0x100609e0
mov al, byte [esp + 3]
dec al
jmp 0x100607bd
mov al, byte [ebp + 0xd]
mov cl, byte [ebp + 9]
mov byte [ebp + 0xd], cl
mov cl, byte [ebp + 5]
mov byte [ebp + 9], cl
mov cl, byte [ebp + 1]
mov dl, byte [ebp + 2]
mov byte [ebp + 5], cl
mov byte [ebp + 1], al
mov al, byte [ebp + 0xa]
mov byte [ebp + 2], al
mov byte [ebp + 0xa], dl
mov al, byte [ebp + 6]
mov cl, byte [ebp + 0xe]
mov byte [ebp + 6], cl
mov byte [ebp + 0xe], al
mov al, byte [ebp + 3]
mov cl, byte [ebp + 7]
mov byte [ebp + 3], cl
mov cl, byte [ebp + 0xb]
mov byte [ebp + 7], cl
mov cl, byte [ebp + 0xf]
mov byte [ebp + 0xb], cl
mov byte [ebp + 0xf], al
xor ecx, ecx
mov eax, 0xa73a9e41
cmp eax, 0xffd31063
jg 0x10060c11
cmp eax, 0x88523a07
je 0x10060c28
cmp eax, 0xa73a9e41
je 0x10060c4e
cmp eax, 0xd9670ca3
jne 0x10060bca
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea eax, [eax*4]
add eax, ebp
movzx edi, byte [edx + eax]
mov bl, byte [edi + 0x100b56a8]
mov byte [edx + eax], bl
mov dl, byte [esp + 0x14]
inc dl
mov eax, 0x88523a07
jmp 0x10060bca
cmp eax, 0xffd31064
je 0x10060c74
cmp eax, 0xa909a84
je 0x10060c8b
cmp eax, 0x61d554b0
jne 0x10060bca
jmp 0x10060c80
mov byte [esp + 0x14], dl
movzx eax, byte [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 4
mov eax, 0x61d554b0
mov edi, 0xd9670ca3
cmovl eax, edi
jmp 0x10060bca
mov byte [esp + 2], cl
movzx eax, byte [esp + 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 4
mov eax, 0xa909a84
mov edi, 0xffd31064
cmovl eax, edi
jmp 0x10060bca
mov eax, 0x88523a07
xor edx, edx
jmp 0x10060bca
mov cl, byte [esp + 2]
inc cl
jmp 0x10060bc5
xor ecx, ecx
mov eax, 0xa40e3390
cmp eax, 0x1a2d1cc
jg 0x10060cbb
cmp eax, 0xa40e3390
je 0x10060cf7
cmp eax, 0xdc296cf0
je 0x10060d5b
cmp eax, 0xe66eb9c4
jne 0x10060c92
mov eax, 0x751136cf
xor edx, edx
jmp 0x10060c92
cmp eax, 0x1a2d1cd
je 0x10060d1d
cmp eax, 0x31bfa97e
je 0x10060d50
cmp eax, 0x751136cf
jne 0x10060c92
mov byte [esp + 0x14], dl
movzx eax, byte [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 4
mov eax, 0x31bfa97e
mov edi, 0x1a2d1cd
cmovl eax, edi
jmp 0x10060c92
mov byte [esp + 2], cl
movzx eax, byte [esp + 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 4
mov eax, 0xdc296cf0
mov edi, 0xe66eb9c4
cmovl eax, edi
jmp 0x10060c92
mov eax, dword [esp + 0xc]
shl eax, 2
add eax, dword [esp + 4]
mov al, byte [esp + eax + 0x5c]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 4]
lea edx, [edx*4]
add edx, ebp
xor byte [edi + edx], al
mov dl, byte [esp + 0x14]
inc dl
mov eax, 0x751136cf
jmp 0x10060c92
mov cl, byte [esp + 2]
inc cl
jmp 0x10060c8d
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov ebp, dword [esp + 0x158]
mov edx, 0xad411029
cmp edx, 0x3809c9a6
je 0x10060dc2
cmp edx, 0x2887e80b
je 0x10060da8
cmp edx, 0xad411029
jne 0x10060d6d
mov byte [esp + 0xc], cl
movzx edx, byte [esp + 0xc]
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
cmp edx, 0x10
mov edx, 0x3809c9a6
mov edi, 0x2887e80b
cmovl edx, edi
jmp 0x10060d6d
mov ecx, dword [esp + 4]
mov cl, byte [esp + ecx + 0x10c]
mov edx, dword [esp + 4]
xor byte [eax + edx], cl
mov cl, byte [esp + 0xc]
inc cl
jmp 0x10060d68
mov eax, dword [esp + 0x24]
movups xmm0, xmmword [eax]
lea eax, [esp + 0x10c]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x28]
add eax, 0x10
mov ecx, dword [esp + 0x30]
add ecx, 0x10
jmp 0x10060698
cmp dword [esp + 0x3c], 0
mov eax, 0x8711e915
mov ecx, 0x21471c3d
cmove eax, ecx
jmp 0x10060586
mov eax, 0xe22209de
jmp 0x10060586
push ebp
call fcn.1009ea83
add esp, 4
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
mov eax, 0x6dc37e7c
mov ecx, 0x327eaa9d
cmove eax, ecx
jmp 0x10060586
mov eax, 0x46d8fd3a
xor ecx, ecx
inc ecx
mov dword [esp + 0x38], ecx
jmp 0x10060586
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x54]
push 0x10
push eax
push 1
call fcn.1000d853
add esp, 0xc
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
mov eax, 0xa9eb1998
mov ecx, 0xbbac6ad8
cmovs eax, ecx
jmp 0x10060586
cmp eax, 0x46d8fd3a
jne 0x10060586
mov eax, 0xf1cb5fe8
jmp 0x10060551
cmp eax, 0x45627cb1
jle 0x100616d8
cmp eax, 0x45627cb2
je 0x10061711
cmp eax, 0x47cfdfd5
jne 0x10060551
mov cl, byte [esp + 0x36]
cmp byte [esp + 0x37], 0
mov eax, 0x45627cb2
mov edx, 0xe8345e3
cmovne eax, edx
test cl, cl
cmovne eax, edx
jmp 0x10060551
cmp eax, 0xf1cb5fe8
je 0x1006191a
cmp eax, 0xfebef53c
jne 0x10060551
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
shl eax, 4
add eax, 0x10
mov dword [esp + 0x1c], eax
push dword [esp + 0x1c]
call fcn.1009ea83
add esp, 4
mov dword [esp + 0x2c], eax
mov eax, 0xccded932
cmp eax, 0xfcfbc097
jg 0x10060f29
cmp eax, 0xccded932
je 0x10060f45
cmp eax, 0xf60b1f30
jne 0x10060f0f
jmp 0x10060e7b
cmp eax, 0xfcfbc098
je 0x10060f59
cmp eax, 0x4ed1fa1f
jne 0x10060f0f
mov eax, 0xf60b1f30
xor ecx, ecx
inc ecx
mov dword [esp + 0x38], ecx
jmp 0x10060f0f
cmp dword [esp + 0x2c], 0
mov eax, 0xfcfbc098
mov ecx, 0x4ed1fa1f
cmove eax, ecx
jmp 0x10060f0f
push ebp
push 0
push dword [esp + 0x34]
call fcn.1008c000
add esp, 0xc
push ebp
push dword [esp + 0x158]
push dword [esp + 0x34]
call fcn.1008ba80
add esp, 0xc
mov eax, 0x10
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
shl ecx, 4
mov edx, dword [esp + 0x2c]
add ecx, dword [esp + 0x14]
add ecx, edx
push eax
push ecx
push 1
call fcn.1000d720
add esp, 0xc
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x10c]
mov dword [esp + 0x24], ecx
xor ecx, ecx
lea edx, [esp + 0x24]
mov edx, dword [edx]
mov edi, 0xe55ccf52
cmp edi, 0x9aae2a82
je 0x100616a3
cmp edi, 0xc96f4f00
je 0x10060fff
cmp edi, 0xe55ccf52
jne 0x10060fc2
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x28]
cmp edi, esi
mov edi, 0x9aae2a82
mov ebx, 0xc96f4f00
cmovb edi, ebx
jmp 0x10060fc2
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
xor edx, edx
mov edi, 0xad411029
cmp edi, 0x3809c9a6
je 0x1006106b
cmp edi, 0x2887e80b
je 0x1006104f
cmp edi, 0xad411029
jne 0x1006100e
mov byte [esp + 4], dl
movzx edi, byte [esp + 4]
mov dword [esp + 0x11c], edi
mov edi, dword [esp + 0x11c]
cmp edi, 0x10
mov edi, 0x3809c9a6
mov ebx, 0x2887e80b
cmovl edi, ebx
jmp 0x1006100e
mov edx, dword [esp + 0x11c]
mov dl, byte [eax + edx]
mov edi, dword [esp + 0x11c]
xor byte [ecx + edi], dl
mov dl, byte [esp + 4]
inc dl
jmp 0x10061009
mov ebp, dword [esp + 0xc]
xor edx, edx
mov edi, 0xa40e3390
cmp edi, 0x1a2d1cc
jg 0x100610a3
cmp edi, 0xa40e3390
je 0x100610e8
cmp edi, 0xdc296cf0
je 0x10061152
cmp edi, 0xe66eb9c4
jne 0x10061076
mov edi, 0x751136cf
xor eax, eax
jmp 0x10061076
cmp edi, 0x1a2d1cd
je 0x1006110e
cmp edi, 0x31bfa97e
je 0x10061147
cmp edi, 0x751136cf
jne 0x10061076
mov byte [esp + 2], al
movzx edi, byte [esp + 2]
mov dword [esp + 0x11c], edi
mov edi, dword [esp + 0x11c]
cmp edi, 4
mov edi, 0x31bfa97e
mov ecx, 0x1a2d1cd
cmovl edi, ecx
jmp 0x10061076
mov byte [esp + 3], dl
movzx edi, byte [esp + 3]
mov dword [esp + 4], edi
mov edi, dword [esp + 4]
cmp edi, 4
mov edi, 0xdc296cf0
mov ecx, 0xe66eb9c4
cmovl edi, ecx
jmp 0x10061076
mov eax, dword [esp + 4]
shl eax, 2
add eax, dword [esp + 0x11c]
mov al, byte [esp + eax + 0x5c]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x11c]
lea edi, [edi*4]
add edi, ebp
xor byte [ebx + edi], al
mov al, byte [esp + 2]
inc al
mov edi, 0x751136cf
jmp 0x10061076
mov dl, byte [esp + 3]
inc dl
jmp 0x10061071
mov al, 1
mov edx, 0xadaea881
cmp edx, 0x85287550
je 0x1006118f
cmp edx, 0xc37a1fa5
je 0x1006148b
cmp edx, 0xadaea881
jne 0x10061159
mov byte [esp + 0x1b], al
mov dl, byte [esp + 0x1b]
cmp dl, 0xa
mov edx, 0xc37a1fa5
mov ecx, 0x85287550
cmovb edx, ecx
jmp 0x10061159
xor edx, edx
mov edi, 0x16549082
cmp edi, 0x16549081
jg 0x100611e3
cmp edi, 0x90adc79a
je 0x10061269
cmp edi, 0xf157453a
je 0x10061221
cmp edi, 0x1f3e066
jne 0x10061196
mov byte [esp + 2], al
movzx edi, byte [esp + 2]
mov dword [esp + 0x11c], edi
mov edi, dword [esp + 0x11c]
cmp edi, 4
mov edi, 0x6a73a30e
mov ecx, 0x4e0c8ea4
cmovl edi, ecx
jmp 0x10061196
cmp edi, 0x6a73a30e
je 0x1006125e
cmp edi, 0x4e0c8ea4
je 0x1006122d
cmp edi, 0x16549082
jne 0x10061196
mov byte [esp + 3], dl
movzx edi, byte [esp + 3]
mov dword [esp + 4], edi
mov edi, dword [esp + 4]
cmp edi, 4
mov edi, 0x90adc79a
mov ecx, 0xf157453a
cmovl edi, ecx
jmp 0x10061196
mov edi, 0x1f3e066
xor eax, eax
jmp 0x10061196
mov eax, dword [esp + 0x11c]
mov edi, dword [esp + 4]
lea eax, [eax*4]
add eax, ebp
movzx ebx, byte [edi + eax]
mov bl, byte [ebx + str.cw]
mov byte [edi + eax], bl
mov al, byte [esp + 2]
inc al
mov edi, 0x1f3e066
jmp 0x10061196
mov dl, byte [esp + 3]
inc dl
jmp 0x10061191
mov al, byte [ebp + 5]
mov dl, byte [ebp + 1]
mov ah, byte [ebp + 2]
mov byte [ebp + 1], al
mov al, byte [ebp + 9]
mov byte [ebp + 5], al
mov al, byte [ebp + 0xd]
mov byte [ebp + 9], al
mov byte [ebp + 0xd], dl
mov al, byte [ebp + 0xa]
mov byte [ebp + 2], al
mov byte [ebp + 0xa], ah
mov al, byte [ebp + 6]
mov dl, byte [ebp + 0xe]
mov byte [ebp + 6], dl
mov byte [ebp + 0xe], al
mov al, byte [ebp + 3]
mov dl, byte [ebp + 0xf]
mov byte [ebp + 3], dl
mov dl, byte [ebp + 0xb]
mov byte [ebp + 0xf], dl
mov dl, byte [ebp + 7]
mov byte [ebp + 0xb], dl
mov byte [ebp + 7], al
xor eax, eax
mov edx, 0x11bf1b2
cmp edx, 0x292c013e
je 0x10061395
cmp edx, 0x1683fb01
je 0x100612fd
cmp edx, 0x11bf1b2
jne 0x100612b8
mov byte [esp + 4], al
movzx edx, byte [esp + 4]
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0x11c]
cmp edx, 4
mov edx, 0x292c013e
mov ecx, 0x1683fb01
cmovl edx, ecx
jmp 0x100612b8
mov eax, dword [esp + 0x11c]
mov cl, byte [ebp + eax*4]
mov byte [esp + 0xa], cl
mov bl, byte [ebp + eax*4 + 1]
mov byte [esp + 0x13], bl
xor bl, cl
mov cl, byte [ebp + eax*4 + 2]
mov ch, bl
xor ch, cl
mov byte [esp + 0xb], ch
mov dl, byte [ebp + eax*4 + 3]
xor ch, dl
mov bh, bl
sar bh, 7
and bh, 0x1b
mov dh, bl
add dh, bl
xor dh, byte [esp + 0xa]
xor dh, bh
xor dh, ch
mov byte [ebp + eax*4], dh
mov dh, dl
xor dh, cl
xor cl, byte [esp + 0x13]
mov bh, cl
sar bh, 7
and bh, 0x1b
add cl, cl
xor cl, byte [esp + 0x13]
xor cl, ch
xor cl, bh
mov byte [ebp + eax*4 + 1], cl
mov cl, dh
sar cl, 7
and cl, 0x1b
add dh, dh
xor bl, dl
xor bl, dh
xor bl, cl
mov byte [ebp + eax*4 + 2], bl
xor dl, byte [esp + 0xa]
mov ecx, edx
sar cl, 7
and cl, 0x1b
add dl, dl
xor dl, byte [esp + 0xb]
xor dl, cl
mov byte [ebp + eax*4 + 3], dl
mov al, byte [esp + 4]
inc al
jmp 0x100612b3
movzx edx, byte [esp + 0x1b]
shl edx, 4
xor ebx, ebx
mov edi, 0xa40e3390
cmp edi, 0x1a2d1cc
jg 0x100613d1
cmp edi, 0xa40e3390
je 0x10061416
cmp edi, 0xdc296cf0
je 0x10061480
cmp edi, 0xe66eb9c4
jne 0x100613a4
mov edi, 0x751136cf
xor eax, eax
jmp 0x100613a4
cmp edi, 0x1a2d1cd
je 0x1006143c
cmp edi, 0x31bfa97e
je 0x10061475
cmp edi, 0x751136cf
jne 0x100613a4
mov byte [esp + 2], al
movzx ecx, byte [esp + 2]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x11c]
cmp ecx, 4
mov edi, 0x31bfa97e
mov ecx, 0x1a2d1cd
cmovl edi, ecx
jmp 0x100613a4
mov byte [esp + 3], bl
movzx ecx, byte [esp + 3]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
cmp ecx, 4
mov edi, 0xdc296cf0
mov ecx, 0xe66eb9c4
cmovl edi, ecx
jmp 0x100613a4
mov eax, dword [esp + 4]
lea eax, [edx + eax*4]
add eax, dword [esp + 0x11c]
mov al, byte [esp + eax + 0x5c]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x11c]
lea ecx, [ecx*4]
add ecx, ebp
xor byte [edi + ecx], al
mov al, byte [esp + 2]
inc al
mov edi, 0x751136cf
jmp 0x100613a4
mov bl, byte [esp + 3]
inc bl
jmp 0x1006139f
mov al, byte [esp + 0x1b]
inc al
jmp 0x10061154
xor edx, edx
mov eax, 0x16549082
cmp eax, 0x16549081
jg 0x100614db
cmp eax, 0x90adc79a
je 0x1006155e
cmp eax, 0xf157453a
je 0x10061516
cmp eax, 0x1f3e066
jne 0x10061492
mov byte [esp + 2], bl
movzx eax, byte [esp + 2]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x11c]
cmp eax, 4
mov eax, 0x6a73a30e
mov ecx, 0x4e0c8ea4
cmovl eax, ecx
jmp 0x10061492
cmp eax, 0x6a73a30e
je 0x10061553
cmp eax, 0x4e0c8ea4
je 0x10061522
cmp eax, 0x16549082
jne 0x10061492
mov byte [esp + 3], dl
movzx eax, byte [esp + 3]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 4
mov eax, 0x90adc79a
mov ecx, 0xf157453a
cmovl eax, ecx
jmp 0x10061492
mov eax, 0x1f3e066
xor ebx, ebx
jmp 0x10061492
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 4]
lea eax, [eax*4]
add eax, ebp
movzx edi, byte [ecx + eax]
mov bl, byte [edi + str.cw]
mov byte [ecx + eax], bl
mov bl, byte [esp + 2]
inc bl
mov eax, 0x1f3e066
jmp 0x10061492
mov dl, byte [esp + 3]
inc dl
jmp 0x1006148d
mov al, byte [ebp + 5]
mov cl, byte [ebp + 1]
mov dl, byte [ebp + 2]
mov byte [ebp + 1], al
mov al, byte [ebp + 9]
mov byte [ebp + 5], al
mov al, byte [ebp + 0xd]
mov byte [ebp + 9], al
mov byte [ebp + 0xd], cl
mov al, byte [ebp + 0xa]
mov byte [ebp + 2], al
mov byte [ebp + 0xa], dl
mov al, byte [ebp + 6]
mov cl, byte [ebp + 0xe]
mov byte [ebp + 6], cl
mov byte [ebp + 0xe], al
mov al, byte [ebp + 3]
mov cl, byte [ebp + 0xf]
mov byte [ebp + 3], cl
mov cl, byte [ebp + 0xb]
mov byte [ebp + 0xf], cl
mov cl, byte [ebp + 7]
mov byte [ebp + 0xb], cl
mov byte [ebp + 7], al
xor edx, edx
mov eax, 0xa40e3390
cmp eax, 0x1a2d1cc
jg 0x100615d6
cmp eax, 0xa40e3390
je 0x10061618
cmp eax, 0xdc296cf0
je 0x10061685
cmp eax, 0xe66eb9c4
jne 0x100615ad
mov eax, 0x751136cf
xor ebx, ebx
jmp 0x100615ad
cmp eax, 0x1a2d1cd
je 0x1006163e
cmp eax, 0x31bfa97e
je 0x1006167a
cmp eax, 0x751136cf
jne 0x100615ad
mov byte [esp + 2], bl
movzx eax, byte [esp + 2]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x11c]
cmp eax, 4
mov eax, 0x31bfa97e
mov ecx, 0x1a2d1cd
cmovl eax, ecx
jmp 0x100615ad
mov byte [esp + 3], dl
movzx eax, byte [esp + 3]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 4
mov eax, 0xdc296cf0
mov ecx, 0xe66eb9c4
cmovl eax, ecx
jmp 0x100615ad
mov eax, dword [esp + 4]
shl eax, 2
add eax, dword [esp + 0x11c]
mov al, byte [esp + eax + 0xfc]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x11c]
lea ecx, [ecx*4]
add ecx, ebp
xor byte [edi + ecx], al
mov bl, byte [esp + 2]
inc bl
mov eax, 0x751136cf
jmp 0x100615ad
mov dl, byte [esp + 3]
inc dl
jmp 0x100615a8
mov eax, dword [esp + 0xc]
add eax, 0x10
mov ecx, dword [esp + 0x28]
add ecx, 0x10
lea edx, [esp + 0xc]
mov ebp, dword [esp + 0x158]
jmp 0x10060fbb
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x15c]
mov dword [ecx], eax
mov dword [esp + 0x38], 0
mov eax, 0xf60b1f30
jmp 0x10060f0f
cmp eax, 0x7b10fba
jne 0x10061939
mov dword [esp + 0x58], 0
mov eax, 0xe8345e3
jmp 0x10060551
mov eax, dword [esp + 0x15c]
cmp dword [eax], 0
mov eax, 0xe8345e3
mov ecx, 0x7b10fba
cmovle eax, ecx
jmp 0x10060551
xor eax, eax
mov esi, 0xabc06a19
cmp esi, 0xfd25b308
jle 0x10061772
cmp esi, 0x5be3add1
jg 0x100617a1
cmp esi, 0xfd25b309
je 0x1006183a
cmp esi, 0x25ee5fea
jne 0x10061718
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x148]
mov dl, byte [esi + eax*4]
mov byte [esp + eax*4 + 0x5c], dl
mov dl, byte [esi + eax*4 + 1]
mov byte [esp + eax*4 + 0x5d], dl
mov dl, byte [esi + eax*4 + 2]
mov byte [esp + eax*4 + 0x5e], dl
mov dl, byte [esi + eax*4 + 3]
mov byte [esp + eax*4 + 0x5f], dl
mov eax, dword [esp + 4]
inc eax
mov esi, 0xabc06a19
jmp 0x10061718
cmp esi, 0xabc06a18
jg 0x10061811
cmp esi, 0x80867936
je 0x1006185d
cmp esi, 0x8bc58c7e
jne 0x10061718
mov ecx, 4
mov esi, 0xfd25b309
jmp 0x10061718
cmp esi, 0x5be3add2
je 0x100618a7
cmp esi, 0x6e987d29
jne 0x10061718
mov edx, dword [esp + 0x11c]
mov bl, byte [esp + edx*4 + 0x58]
mov bh, byte [esp + edx*4 + 0x59]
mov byte [esp + 0x24], bl
mov byte [esp + 0x30], bh
mov bl, byte [esp + edx*4 + 0x5a]
mov byte [esp + 0x28], bl
mov dl, byte [esp + edx*4 + 0x5b]
mov byte [esp + 0xc], dl
test dword [esp + 0x11c], 3
mov esi, 0x80867936
mov edx, 0x5be3add2
cmove esi, edx
mov bh, byte [esp + 0x24]
mov dl, byte [esp + 0x30]
mov byte [esp + 0xa], dl
mov dh, byte [esp + 0x28]
mov bl, byte [esp + 0xc]
jmp 0x10061718
cmp esi, 0xabc06a19
jne 0x100618f1
mov dword [esp + 4], eax
mov esi, dword [esp + 4]
cmp esi, 4
mov esi, 0x8bc58c7e
mov edi, 0x25ee5fea
cmovb esi, edi
jmp 0x10061718
mov dword [esp + 0x11c], ecx
mov esi, dword [esp + 0x11c]
cmp esi, 0x2c
mov esi, 0xc4fac840
mov edi, 0x6e987d29
cmovb esi, edi
jmp 0x10061718
mov ecx, dword [esp + 0x11c]
mov esi, dword [esp + 0x11c]
mov dl, byte [esp + esi*4 + 0x4c]
xor dl, bh
mov byte [esp + ecx*4 + 0x5c], dl
mov dl, byte [esp + esi*4 + 0x4d]
xor dl, byte [esp + 0xa]
mov byte [esp + ecx*4 + 0x5d], dl
mov dl, byte [esp + esi*4 + 0x4e]
xor dl, dh
mov byte [esp + ecx*4 + 0x5e], dl
mov dl, byte [esp + esi*4 + 0x4f]
xor dl, bl
mov byte [esp + ecx*4 + 0x5f], dl
mov ecx, dword [esp + 0x11c]
inc ecx
mov esi, 0xfd25b309
jmp 0x10061718
movzx esi, byte [esp + 0x30]
movzx edx, byte [esp + 0x28]
mov dl, byte [edx + str.cw]
mov byte [esp + 0xa], dl
movzx edx, byte [esp + 0xc]
mov dh, byte [edx + str.cw]
movzx edi, byte [esp + 0x24]
mov bl, byte [edi + str.cw]
mov edi, dword [esp + 0x11c]
shr edi, 2
mov bh, byte [edi + 0x100b569d]
xor bh, byte [esi + str.cw]
mov esi, 0x80867936
jmp 0x10061718
cmp esi, 0xc4fac840
jne 0x10061718
mov eax, dword [esp + 0x14c]
movups xmm0, xmmword [eax]
lea eax, [esp + 0x10c]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x4c]
jmp 0x10060551
cmp dword [esp + 0x58], 0
mov eax, 0x8049499c
mov ecx, 0x7b10fba
cmove eax, ecx
cmp dword [esp + 0x38], 0
cmovne eax, ecx
jmp 0x10060551
cmp eax, 0xe8345e3
jne 0x10060551
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x12c]
xor ecx, esp
call fcn.100879aa
mov eax, esi
add esp, 0x130
pop esi
pop edi
pop ebx
pop ebp
ret