Function at 0x422011
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x47b465
call fcn.0047abb4
sub esp, 0x98
push ebx
push esi
push edi
push 1
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x5eb148]
mov dword [eax + 0x20], ebx
call fcn.0041fa44
call fcn.00421ee9
cmp dword [0x5eb290], 0xf
mov ecx, 0x5eb27c
push 0x80e2
cmova ecx, dword [0x5eb27c]
xor edx, edx
call fcn.0044ae6f
pop ecx
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x6e]
call fcn.0042a5e9
push ecx
push 0x12
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428e8b
mov edx, ebx
mov ax, word [esi + edx + 2]
xor ax, word [esi]
cmp dword [ebp - 0x14], 7
movzx ecx, ax
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
mov word [edx + eax], cx
add edx, 2
cmp edx, 0x24
jb 0x42207b
cmp dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
cmova ecx, dword [ebp - 0x28]
call fcn.004323a0
lea ecx, [ebp - 0x28]
mov bl, al
call fcn.0042941a
test bl, bl
je 0x4235b3
mov eax, dword [0x5eb148]
mov eax, dword [eax + 0x3e48]
movss xmm0, dword [eax + 0x14]
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [eax + 0x18]
movss dword [ebp - 0x3c], xmm0
call fcn.0044d60c
mov dword [ebp - 0x30], eax
call fcn.00446b8c
call fcn.00446ba9
movss xmm1, dword [ebp - 0xa0]
lea ecx, [ebp - 0x20]
movss xmm2, dword [ebp - 0x3c]
movaps xmm0, xmm1
xorps xmm3, xmm3
addss xmm0, xmm3
movss dword [ebp - 0x50], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [0x488b80]
addss xmm1, xmm0
addss xmm2, xmm0
movaps xmm0, xmmword [0x488d00]
movups xmmword [ebp - 0x20], xmm0
movss dword [ebp - 0x40], xmm1
movss dword [ebp - 0x3c], xmm2
call fcn.00443a00
movaps xmm0, xmmword [0x488d00]
lea ecx, [ebp - 0x20]
mov ebx, eax
movups xmmword [ebp - 0x20], xmm0
call fcn.00443a00
movaps xmm0, xmmword [0x488d90]
lea ecx, [ebp - 0x20]
mov edi, eax
movups xmmword [ebp - 0x20], xmm0
call fcn.00443a00
movaps xmm0, xmmword [0x488d00]
lea ecx, [ebp - 0x20]
mov esi, eax
movups xmmword [ebp - 0x20], xmm0
call fcn.00443a00
mov ecx, dword [ebp - 0x30]
push ebx
push edi
push esi
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0045e6eb
call fcn.0041a704
movss xmm1, dword [0x488a38]
xor ecx, ecx
call fcn.004449c7
xor ebx, ebx
mov dword [ebp - 0x50], 0x43eb0000
push ebx
push ecx
xor esi, esi
mov dword [ebp - 0x4c], 0x43c80000
lea eax, [ebp - 0x50]
inc esi
push eax
mov edx, esi
xor ecx, ecx
call fcn.004488e2
add esp, 0xc
push 6
pop edi
test al, al
je 0x422329
push ecx
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x428c0000
mov ecx, 0x480010
mov dword [ebp - 0x4c], 0x420c0000
call fcn.0046719c
pop ecx
test al, al
je 0x422206
mov dword [0x4900c8], esi
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push ecx
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x428c0000
mov ecx, 0x480014
mov dword [ebp - 0x4c], 0x420c0000
call fcn.0046719c
pop ecx
test al, al
je 0x422241
mov dword [0x4900c8], 2
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push ecx
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x428c0000
mov ecx, 0x480018
mov dword [ebp - 0x4c], 0x420c0000
call fcn.0046719c
pop ecx
test al, al
je 0x42227c
mov dword [0x4900c8], 3
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push ecx
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x428c0000
mov ecx, 0x48001c
mov dword [ebp - 0x4c], 0x420c0000
call fcn.0046719c
pop ecx
test al, al
je 0x4222b7
mov dword [0x4900c8], 4
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push ecx
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x428c0000
mov ecx, 0x480020
mov dword [ebp - 0x4c], 0x420c0000
call fcn.0046719c
pop ecx
test al, al
je 0x4222f2
mov dword [0x4900c8], 5
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push ecx
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x428c0000
mov ecx, 0x480024
mov dword [ebp - 0x4c], 0x420c0000
call fcn.0046719c
pop ecx
test al, al
je 0x422329
mov dword [0x4900c8], edi
call fcn.00448af5
push ebx
push ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x43eb0000
push eax
mov edx, esi
mov dword [ebp - 0x4c], 0x43c80000
xor ecx, ecx
call fcn.004488e2
add esp, 0xc
test al, al
je 0x42359f
xorps xmm0, xmm0
call fcn.0044f935
mov eax, dword [0x4900c8]
cmp eax, esi
jne 0x4229b0
call fcn.0042f5bc
mov eax, dword [0x4900c8]
push 0xf
pop edi
or ebx, 0xffffffff
cmp eax, 4
jne 0x4234d2
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x60]
call fcn.0042ad8c
push ecx
push 0x18
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x18
jb 0x42239f
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmova ecx, dword [ebp - 0x28]
call fcn.00468f4c
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
call fcn.0044d1ce
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x51]
call fcn.0042ae3f
push ecx
push 9
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [edx + esi + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 9
jb 0x4223f9
mov dword [ebp - 4], 0x16
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x5f]
call fcn.0042aea1
push ecx
push 0x17
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
push 0x17
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
pop eax
cmp edx, eax
jb 0x422474
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmova ecx, dword [ebp - 0x28]
call fcn.004212be
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x24]
call fcn.0042af44
push ecx
push 0x12
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x60]
xor cl, byte [esi]
cmp dword [ebp - 0x4c], edi
cmova eax, dword [ebp - 0x60]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x12
jb 0x4224c7
mov dword [ebp - 4], 0x18
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x60]
push eax
call fcn.00476f23
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], ebx
call fcn.00428ee0
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push dword [ebp - 0x2f]
lea ecx, [ebp - 0x9c]
push str.activates_a_hitbox_rectangle_from_the_characters_rectangle_list_over_a_frame_range.
call fcn.0042afdd
push ecx
push 0x54
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x54
jb 0x422549
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmova ecx, dword [ebp - 0x28]
call fcn.004212be
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x24]
call fcn.0042b1da
push ecx
push 0x12
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x60]
xor cl, byte [esi]
cmp dword [ebp - 0x4c], edi
cmova eax, dword [ebp - 0x60]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x12
jb 0x42259e
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x60]
push eax
call fcn.00476f23
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], ebx
call fcn.00428ee0
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x79]
call fcn.0042b272
push ecx
push 0x31
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x31
jb 0x422619
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmova ecx, dword [ebp - 0x28]
call fcn.004212be
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x52]
call fcn.0042b39e
push ecx
push 0xa
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xa
jb 0x42266e
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x6a]
call fcn.0042b402
push ecx
push 0x22
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x22
jb 0x4226e9
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmova ecx, dword [ebp - 0x28]
call fcn.004212be
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x4e]
call fcn.0042b4e8
push ecx
push 6
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 6
jb 0x42273e
mov dword [ebp - 4], 0x1e
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x5e]
call fcn.0042b538
push ecx
push 0x16
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x16
jb 0x4227b9
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmova ecx, dword [ebp - 0x28]
call fcn.004212be
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x22]
call fcn.0042b5e1
push ecx
push 0x10
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x60]
xor cl, byte [esi]
cmp dword [ebp - 0x4c], edi
cmova eax, dword [ebp - 0x60]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x10
jb 0x42280e
mov dword [ebp - 4], 0x20
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], edi
push 0x5eb3c1
cmova eax, dword [ebp - 0x60]
push eax
call fcn.00476f23
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], ebx
call fcn.00428ee0
push 0x5eb7e0
mov ecx, 0x5ea214
call fcn.0042c332
push ecx
push 0
lea ecx, [ebp - 0x28]
call fcn.00428f39
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
mov edx, 0x5eaf38
cmova ecx, dword [ebp - 0x28]
push ecx
push ecx
push 0
push 0x100
call fcn.0046aee2
add esp, 0x10
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x28]
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x53]
call fcn.0042b66c
push ecx
push 0xb
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xb
jb 0x4228b5
mov dword [ebp - 4], 0x22
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3c9
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
push dword [ebp - 0x2f]
mov dword [ebp - 0x50], 0x43960000
push ecx
lea ecx, [ebp - 0x33]
mov dword [ebp - 0x4c], 0x42480000
call fcn.0042b6d8
push ecx
push 6
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 6
jb 0x42291e
mov dword [ebp - 4], 0x23
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
lea edx, [ebp - 0x50]
cmova ecx, dword [ebp - 0x28]
push ecx
push ecx
call fcn.00448aa5
or dword [ebp - 4], 0xffffffff
mov bl, al
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00428ee0
test bl, bl
je 0x42299c
mov esi, 0x5eb050
push 0x5eaf38
push dword [esi]
call dword [sym.imp.VCRUNTIME140.dll_strstr]
pop ecx
pop ecx
test eax, eax
je 0x42298c
push dword [esi]
push 0x480100
call fcn.00466ad4
pop ecx
pop ecx
add esi, 4
cmp esi, 0x5eb09c
jl 0x42296b
call fcn.00448af5
call fcn.0044d222
mov ecx, 0x47ed1e
call fcn.00468f4c
jmp 0x4234e8
cmp eax, 2
jne 0x4230dd
mov ecx, 0x47ed1e
call fcn.00468f4c
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x52]
call fcn.0042a69e
push ecx
push 0xa
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
push 0xf
mov edx, ebx
pop edi
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xa
jb 0x4229e1
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5e9d98
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
cmp byte [0x5e9d98], 0
je 0x4230ce
push 0x5eb7e0
mov ecx, 0x5ea214
call fcn.0042c332
push 0x7e
pop esi
xor edx, edx
mov byte [ebp - 0x9d], 0
div esi
push ecx
mov bl, dl
lea ecx, [ebp - 0x28]
inc bl
mov bh, bl
push 1
xor bh, 0x20
call fcn.00428f39
xor bh, bl
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax], bh
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
mov edx, 0x5eb3ec
cmova ecx, dword [ebp - 0x28]
push ecx
push 0x17
push 0x5e9bd8
push fcn.004695f0
call fcn.00469650
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x10
call fcn.00428ee0
push 0x5eb7e0
mov ecx, 0x5ea214
call fcn.0042c332
xor edx, edx
mov byte [ebp - 0x2c], 0
div esi
push ecx
mov bl, dl
lea ecx, [ebp - 0x28]
inc bl
mov al, bl
mov byte [ebp - 0x32], bl
xor al, 0x44
mov byte [ebp - 0x31], al
mov al, bl
xor al, 0x65
mov byte [ebp - 0x30], al
mov al, bl
xor al, 0x6c
mov byte [ebp - 0x2f], al
mov al, bl
xor al, 0x61
mov byte [ebp - 0x2e], al
mov al, bl
xor al, 0x79
push 5
mov byte [ebp - 0x2d], al
call fcn.00428f39
xor edx, edx
mov cl, byte [ebp + edx - 0x31]
lea eax, [ebp - 0x28]
xor cl, bl
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 5
jb 0x422aef
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x50
cmova ecx, dword [ebp - 0x28]
push ecx
push ecx
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0xa
push eax
push 0x5e9c34
call fcn.0046a7a9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x14
call fcn.00428ee0
mov ecx, 0x47ed1e
call fcn.00468f4c
push 0x5eb7e0
mov ecx, 0x5ea214
call fcn.0042c332
xor edx, edx
mov byte [ebp - 0x2c], 0
div esi
push ecx
mov bl, dl
lea ecx, [ebp - 0x28]
inc bl
mov al, bl
mov byte [ebp - 0x32], bl
xor al, 0x48
mov byte [ebp - 0x31], al
mov al, bl
xor al, 0x6f
mov byte [ebp - 0x30], al
mov al, bl
xor al, 0x75
mov byte [ebp - 0x2f], al
mov al, bl
xor al, 0x72
mov byte [ebp - 0x2e], al
mov al, bl
xor al, 0x73
push 5
mov byte [ebp - 0x2d], al
call fcn.00428f39
xor edx, edx
mov cl, byte [ebp + edx - 0x31]
lea eax, [ebp - 0x28]
xor cl, bl
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 5
jb 0x422ba2
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
lea eax, [ebp - 0x30]
movss xmm3, dword [0x488a38]
mov ebx, 0x480038
cmova ecx, dword [ebp - 0x28]
and dword [ebp - 0x3c], 0
push 0xc
pop esi
push ecx
push ebx
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x30], esi
push eax
push 0x5eb048
push 4
pop edx
call fcn.0046a0f6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x14
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x4f]
call fcn.0042a707
push ecx
push 7
lea ecx, [ebp - 0x28]
mov edi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [edi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [edi]
cmp dword [ebp - 0x14], 0xf
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 7
jb 0x422c24
push 4
pop edx
mov dword [ebp - 4], edx
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x30]
movss xmm3, dword [0x488a38]
cmova ecx, dword [ebp - 0x28]
and dword [ebp - 0x3c], 0
push 0x37
pop edi
push ecx
push ebx
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x30], edi
push eax
push 0x5eb038
call fcn.0046a0f6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x14
call fcn.00428ee0
mov eax, dword [0x5eb048]
mov ecx, eax
push dword [ebp - 0x2f]
cmp eax, esi
cmovg ecx, esi
xor edx, edx
test eax, eax
mov eax, dword [0x5eb038]
cmovs ecx, edx
cmp eax, edi
mov dword [0x5eb048], ecx
mov ecx, eax
cmovg ecx, edi
test eax, eax
cmovs ecx, edx
and dword [ebp - 0x50], edx
and dword [ebp - 0x4c], edx
mov dword [0x5eb038], ecx
push ecx
lea ecx, [ebp - 0x35]
call fcn.0042a75e
push ecx
push 8
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
push 0xf
xor edx, edx
pop edi
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 8
jb 0x422cd8
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
lea edx, [ebp - 0x50]
cmova ecx, dword [ebp - 0x28]
push ecx
call fcn.0046719c
or dword [ebp - 4], 0xffffffff
mov bl, al
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00428ee0
test bl, bl
je 0x422d51
imul eax, dword [0x5eb048], 0x3c
add eax, dword [0x5eb038]
imul eax, eax, 0x3c
test eax, eax
jle 0x422d51
lea ecx, [ebp - 0x54]
mov byte [0x5eaf30], 1
call fcn.0041a49c
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x5eb0a0], ecx
mov dword [0x5eb0a4], eax
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
cmp byte [0x5eaf30], 0
je 0x422f0e
push dword [ebp - 0x2f]
and dword [ebp - 0x50], 0
and dword [ebp - 0x4c], 0
push ecx
lea ecx, [ebp - 0x38]
call fcn.0042a7bc
push ecx
push 0xb
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xb
jb 0x422d91
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
lea edx, [ebp - 0x50]
cmova ecx, dword [ebp - 0x28]
push ecx
call fcn.0046719c
or dword [ebp - 4], 0xffffffff
mov bl, al
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00428ee0
test bl, bl
je 0x422de0
xor al, al
mov byte [0x5eaf30], al
jmp 0x422de5
mov al, byte [0x5eaf30]
test al, al
je 0x422f0e
lea ecx, [ebp - 0x54]
call fcn.0041a49c
imul eax, dword [0x5eb048], 0x3c
mov ecx, dword [ebp - 0x54]
push 0
push 0x3b9aca00
add eax, dword [0x5eb038]
imul esi, eax, 0x3c
sub ecx, dword [0x5eb0a0]
mov eax, dword [ebp - 0x50]
sbb eax, dword [0x5eb0a4]
push eax
push ecx
call fcn.0047ac10
sub esi, eax
test esi, esi
jg 0x422e8c
push dword [ebp - 0x2f]
mov byte [0x5eaf30], 0
push ecx
lea ecx, [ebp - 0x6e]
call fcn.0042a5e9
push ecx
push 0x12
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428e8b
xor edx, edx
mov ax, word [esi + edx + 2]
xor ax, word [esi]
cmp dword [ebp - 0x14], 7
movzx ecx, ax
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
mov word [edx + eax], cx
add edx, 2
cmp edx, 0x24
jb 0x422e4d
cmp dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
cmova ecx, dword [ebp - 0x28]
call fcn.0042176c
lea ecx, [ebp - 0x28]
call fcn.0042941a
jmp 0x422f0e
mov eax, esi
mov ecx, 0xe10
cdq
idiv ecx
push 0x3c
mov edi, eax
mov eax, edx
pop ecx
cdq
idiv ecx
mov ebx, eax
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x30], edx
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x6f]
call fcn.0042a82c
push ecx
push 0x27
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], 0xf
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x27
jb 0x422ec5
mov dword [ebp - 4], 7
lea eax, [ebp - 0x28]
push dword [ebp - 0x30]
cmp dword [ebp - 0x14], 0xf
push ebx
cmova eax, dword [ebp - 0x28]
push edi
push eax
call fcn.00466ad4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x10
call fcn.00428ee0
push 0xf
pop edi
call fcn.0044d1ce
mov ecx, 0x47ed1e
call fcn.00468f4c
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x52]
call fcn.0042a91b
push ecx
push 0xa
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
xor ebx, ebx
mov edx, ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xa
jb 0x422f3a
mov dword [ebp - 4], 8
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb401
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
cmp byte [0x5eb401], 0
je 0x422f8a
mov byte [0x5eb3f8], bl
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x21]
call fcn.0042a983
push ecx
push edi
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.00428f39
mov edx, ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x60]
xor cl, byte [esi]
cmp dword [ebp - 0x4c], edi
cmova eax, dword [ebp - 0x60]
mov byte [eax + edx], cl
inc edx
cmp edx, edi
jb 0x422fa4
mov dword [ebp - 4], 9
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], edi
push 0x5eb3f8
cmova eax, dword [ebp - 0x60]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00428ee0
cmp byte [0x5eb3f8], 0
je 0x422ff3
mov byte [0x5eb401], bl
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x53]
call fcn.0042aa0b
push ecx
push 0xb
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
mov edx, ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xb
jb 0x42300e
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb401
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
cmp byte [0x5eb401], 0
je 0x42305e
mov byte [0x5eb3f8], bl
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x4f]
call fcn.0042aa7b
push ecx
push 7
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
mov edx, ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 7
jb 0x423079
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3f8
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
cmp byte [0x5eb3f8], 0
je 0x4230c9
mov byte [0x5eb401], bl
call fcn.0044d222
mov ecx, 0x47ed1e
call fcn.00468f4c
jmp 0x422370
cmp eax, 3
jne 0x422375
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x4e]
call fcn.0042aad2
push ecx
push edi
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00428f39
push 0xf
mov edx, ebx
pop ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [esi]
cmp dword [ebp - 0x14], ebx
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, edi
jb 0x423103
push 0xc
pop esi
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], ebx
cmova ecx, dword [ebp - 0x28]
call fcn.00468f4c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
mov ecx, 0x47ed1e
call fcn.00468f4c
call fcn.0044d1ce
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x22]
call fcn.0042ab1f
push ecx
push 0x10
lea ecx, [ebp - 0x60]
mov edi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [edi + edx + 1]
lea eax, [ebp - 0x60]
xor cl, byte [edi]
cmp dword [ebp - 0x4c], ebx
cmova eax, dword [ebp - 0x60]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x10
jb 0x423166
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], ebx
push 0x5eb3f1
cmova eax, dword [ebp - 0x60]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x55]
call fcn.0042abac
push ecx
push 0xd
lea ecx, [ebp - 0x28]
mov edi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [edi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [edi]
cmp dword [ebp - 0x14], ebx
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xd
jb 0x4231c2
mov dword [ebp - 4], 0xe
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], ebx
push 0x5eb3f1
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x54]
call fcn.0042ac22
push ecx
push esi
lea ecx, [ebp - 0x28]
mov edi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [edi + edx + 1]
lea eax, [ebp - 0x28]
xor cl, byte [edi]
cmp dword [ebp - 0x14], ebx
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, esi
jb 0x42321d
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], ebx
mov edi, 0x5eb3f1
push edi
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
push 0x5eb7e0
mov ecx, 0x5ea214
call fcn.0042c332
push 0x7e
pop esi
xor edx, edx
mov byte [ebp - 0x2c], 0
div esi
push ecx
mov bl, dl
lea ecx, [ebp - 0x28]
inc bl
mov al, bl
mov byte [ebp - 0x31], bl
xor al, 0x4c
mov byte [ebp - 0x30], al
mov al, bl
xor al, 0x6f
mov byte [ebp - 0x2f], al
mov al, bl
xor al, 0x63
mov byte [ebp - 0x2e], al
mov al, bl
xor al, 0x6b
push 4
mov byte [ebp - 0x2d], al
call fcn.00428f39
xor edx, edx
mov cl, byte [ebp + edx - 0x30]
lea eax, [ebp - 0x28]
xor cl, bl
cmp dword [ebp - 0x14], 0xf
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 4
jb 0x4232a4
push 0xf
pop ebx
mov dword [ebp - 4], 0x10
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], ebx
push edi
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0042ac9c
push ecx
push 0xe
lea ecx, [ebp - 0x60]
mov edi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [edi + edx + 1]
lea eax, [ebp - 0x60]
xor cl, byte [edi]
cmp dword [ebp - 0x4c], ebx
cmova eax, dword [ebp - 0x60]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xe
jb 0x423300
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], ebx
push 0x5eb3f1
cmova eax, dword [ebp - 0x60]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00428ee0
push dword [ebp - 0x2f]
push ecx
lea ecx, [ebp - 0x52]
call fcn.0042ad20
push ecx
push 0xa
lea ecx, [ebp - 0x28]
mov edi, eax
call fcn.00428f39
xor edx, edx
mov cl, byte [edx + edi + 1]
lea eax, [ebp - 0x28]
xor cl, byte [edi]
cmp dword [ebp - 0x14], ebx
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xa
jb 0x42335c
push 0xf
pop edi
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
push 0x5eb7e0
mov ecx, 0x5ea214
call fcn.0042c332
xor edx, edx
mov byte [ebp - 0x2c], 0
div esi
push ecx
mov bl, dl
lea ecx, [ebp - 0x28]
inc bl
mov al, bl
mov byte [ebp - 0x31], bl
xor al, 0x4a
mov byte [ebp - 0x30], al
mov al, bl
xor al, 0x75
mov byte [ebp - 0x2f], al
mov al, bl
xor al, 0x6d
mov byte [ebp - 0x2e], al
mov al, bl
xor al, 0x70
push 4
mov byte [ebp - 0x2d], al
call fcn.00428f39
xor edx, edx
mov cl, byte [ebp + edx - 0x30]
lea eax, [ebp - 0x28]
xor cl, bl
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
inc edx
cmp edx, 4
jb 0x4233e7
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00428ee0
push 0x5eb7e0
mov ecx, 0x5ea214
call fcn.0042c332
xor edx, edx
mov byte [ebp - 0x2c], 0
div esi
push ecx
mov bl, dl
lea ecx, [ebp - 0x28]
inc bl
mov al, bl
mov byte [ebp - 0x32], bl
xor al, 0x54
mov byte [ebp - 0x31], al
mov al, bl
xor al, 0x68
mov byte [ebp - 0x30], al
mov al, bl
xor al, 0x72
mov byte [ebp - 0x2f], al
mov al, bl
xor al, 0x6f
mov byte [ebp - 0x2e], al
mov al, bl
xor al, 0x77
push 5
mov byte [ebp - 0x2d], al
call fcn.00428f39
xor edx, edx
mov cl, byte [ebp + edx - 0x31]
lea eax, [ebp - 0x28]
xor cl, bl
cmp dword [ebp - 0x14], edi
cmova eax, dword [ebp - 0x28]
mov byte [edx + eax], cl
inc edx
cmp edx, 5
jb 0x423476
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push 0x5eb3f1
cmova eax, dword [ebp - 0x28]
push eax
call fcn.00476f23
or ebx, 0xffffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.00428ee0
call fcn.0044d222
mov ecx, 0x47ed1e
call fcn.00468f4c
mov eax, dword [0x4900c8]
jmp 0x42237b
cmp eax, 5
jne 0x4234de
call fcn.0042e798
jmp 0x4234e8
cmp eax, 6
jne 0x4234e8
call fcn.0042e83e
call fcn.00448af5
push 0
push ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x43eb0000
push eax
push 3
pop edx
xor ecx, ecx
mov dword [ebp - 0x4c], 0x42a00000
call fcn.004488e2
add esp, 0xc
test al, al
je 0x42359a
lea ecx, [ebp - 0x50]
call fcn.0044fbc4
movss xmm1, dword [eax + 4]
mov eax, dword [0x5eb148]
subss xmm1, dword [0x488b14]
mov eax, dword [eax + 0x3e48]
mulss xmm1, dword [0x4889e8]
movss xmm0, dword [eax + 0xf4]
subss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x7c]
addss xmm0, xmm1
call fcn.0044f8fe
call fcn.00421820
call fcn.0046886e
push ecx
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x42200000
mov ecx, 0x480104
mov dword [ebp - 0x4c], 0x41f00000
call fcn.0046719c
pop ecx
test al, al
jne 0x4235b3
movss xmm1, dword [0x488bc8]
xorps xmm0, xmm0
call fcn.0044f7e6
call fcn.0042059e
call fcn.00448af5
call fcn.0044cc46
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
call fcn.0042173f
int3