Function at 0x200052d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xcf4
mov eax, dword [0x20026464]
xor eax, esp
mov dword [esp + 0xcf0], eax
mov ecx, dword [esp + 0xcf8]
push ebx
mov ebx, dword [esp + 0xd08]
push ebp
mov ebp, dword [esp + 0xd10]
push esi
push edi
test ecx, ecx
jl 0x20005fde
mov esi, dword [esp + 0xd0c]
test esi, esi
jl 0x20005fde
test ebx, ebx
je 0x20005fde
test ebp, ebp
je 0x20005fde
mov eax, dword [esp + 0xd10]
cmp eax, 0x60
je 0x20005339
cmp eax, 0x61
jne 0x20005fde
mov eax, dword [0x2002b32c]
cmp eax, 1
jne 0x2000535f
cmp ecx, 0xf
jg 0x20005fde
cmp esi, 3
jg 0x20005fde
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
jmp 0x200053bc
cmp eax, 3
jne 0x20005fda
cmp ecx, 0x27
jg 0x20005fde
cmp ecx, 0x20
jl 0x2000537f
cmp esi, 0xf
jg 0x20005fde
cmp ecx, 0x1f
jg 0x20005397
cmp esi, 3
jg 0x20005fde
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
jmp 0x200053bc
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
lea eax, [eax + ecx*4 - 0x60]
mov dword [esp + 0x14], eax
mov eax, esi
and eax, 0x80000003
jns 0x200053b8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [0x2002b328]
cmp eax, dword [0x20026208]
jne 0x20005c39
cmp dword [0x200298e8], 0xffffffff
je 0x20005c39
mov ecx, dword [str.FF97100619]
mov edx, dword [0x20020538]
mov ax, word [0x2002053c]
push 0x3dd
mov dword [esp + 0x120], edx
mov dword [esp + 0x11c], ecx
mov cl, byte [0x2002053e]
lea edx, [esp + 0x127]
push 0
push edx
mov word [esp + 0x12c], ax
mov byte [esp + 0x12e], cl
call fcn.200132c0
push 0xff
lea eax, [esp + 0x29]
push 0
push eax
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 0
call fcn.200132c0
mov ecx, dword [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x3c]
add esp, 0x24
mov esi, eax
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20005460
lea edi, [esp + 0x118]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005471
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xd0c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x200054a7
lea edi, [esp + 0x118]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x200054b8
mov edx, dword [esp + 0xd10]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov esi, eax
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x200054f0
lea edi, [esp + 0x118]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005501
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebx]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20005533
lea edi, [esp + 0x118]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005544
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx eax, byte [ebx + 1]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20005577
lea edi, [esp + 0x118]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005588
movzx edx, byte [ebx + 2]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov esi, eax
jmp 0x200055c0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x200055c0
lea edi, [esp + 0x118]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x200055d1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebx + 3]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20005604
lea edi, [esp + 0x118]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005615
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx eax, byte [ebx + 4]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20005648
lea edi, [esp + 0x118]
sub eax, esi
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005660
movzx edx, byte [ebx + 5]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005693
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x200056a6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebp]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x200056e0
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x200056f3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx eax, byte [ebp + 1]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005726
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005740
movzx edx, byte [ebp + 2]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005773
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005786
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebp + 3]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x200057c0
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x200057d3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx eax, byte [ebp + 4]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005806
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005820
movzx edx, byte [ebp + 5]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005853
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005866
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebp + 6]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x200058a0
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x200058b3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx eax, byte [ebp + 7]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x200058e6
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005900
movzx edx, byte [ebp + 8]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005933
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005946
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebp + 9]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005980
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005993
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx eax, byte [ebp + 0xa]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x200059c6
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x200059e0
movzx edx, byte [ebp + 0xb]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005a13
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005a26
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebp + 0xc]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005a60
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005a73
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx eax, byte [ebp + 0xd]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push str._02X
push ecx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005aa6
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005ac0
movzx edx, byte [ebp + 0xe]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
lea eax, [esp + 0x1c]
and ecx, 3
push str._02X
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005af3
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005b06
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebp + 0xf]
push ecx
lea edx, [esp + 0x1c]
push str._02X
push edx
call fcn.2001364c
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x20005b40
lea edi, [esp + 0x118]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x20005b53
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x118]
rep movsb byte es:[edi], byte [esi]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x20005b71
mov cx, word [0x2002051c]
mov dl, byte [0x2002051e]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0x118]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20005b96
sub eax, edx
shr eax, 1
mov edi, eax
push edi
call fcn.200137a6
mov esi, eax
lea eax, [esp + 0x11c]
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20005bb8
sub eax, edx
push eax
lea eax, [esp + 0x11c]
push esi
push eax
call fcn.200028c0
push 0x100
lea ecx, [esp + 0x510]
push 0
push ecx
mov dword [esp + 0x28], 0x100
call fcn.200132c0
mov ecx, dword [0x200298e8]
add esp, 0x18
lea edx, [esp + 0x500]
push edx
lea eax, [esp + 0x14]
push eax
push esi
push edi
push ecx
call fcn.20002870
push esi
call fcn.200136c9
add esp, 4
cmp byte [esp + 0x500], 0x90
jne 0x20005fda
cmp byte [esp + 0x501], 0
jne 0x20005fda
mov eax, 1
jmp 0x20005fe1
cmp eax, dword [0x20026270]
jne 0x20005df3
push 0x100
push 0
push 0x20027658
call fcn.200132c0
movzx edx, byte [esp + 0x20]
movzx eax, byte [esp + 0x1c]
mov cl, byte [esp + 0xd1c]
mov byte [0x2002765f], al
mov byte [0x20027660], cl
mov byte [0x20027658], 0
mov byte [0x20027659], 0x55
mov byte [0x2002765a], 0xaa
mov byte [0x2002765b], 0x1c
mov byte [0x2002765c], 4
mov byte [0x2002765d], 0xff
mov byte [0x2002765e], dl
movzx edx, byte [ebx]
mov byte [0x20027661], dl
movzx eax, byte [ebx + 1]
mov byte [0x20027662], al
movzx ecx, byte [ebx + 2]
mov byte [0x20027663], cl
movzx edx, byte [ebx + 3]
mov byte [0x20027664], dl
movzx eax, byte [ebx + 4]
mov byte [0x20027665], al
movzx ecx, byte [ebx + 5]
mov byte [0x20027666], cl
movzx edx, byte [ebp]
mov byte [0x20027667], dl
movzx eax, byte [ebp + 1]
mov byte [0x20027668], al
movzx ecx, byte [ebp + 2]
mov byte [0x20027669], cl
movzx edx, byte [ebp + 3]
mov byte [0x2002766a], dl
movzx eax, byte [ebp + 4]
mov byte [0x2002766b], al
movzx ecx, byte [ebp + 5]
mov byte [0x2002766c], cl
movzx edx, byte [ebp + 6]
mov byte [0x2002766d], dl
movzx eax, byte [ebp + 7]
mov byte [0x2002766e], al
movzx ecx, byte [ebp + 8]
mov byte [0x2002766f], cl
movzx edx, byte [ebp + 9]
mov byte [0x20027670], dl
movzx eax, byte [ebp + 0xa]
mov byte [0x20027671], al
movzx ecx, byte [ebp + 0xb]
mov byte [0x20027672], cl
movzx edx, byte [ebp + 0xc]
mov byte [0x20027673], dl
movzx eax, byte [ebp + 0xd]
mov byte [0x20027674], al
movzx ecx, byte [ebp + 0xe]
mov byte [0x20027675], cl
movzx edx, byte [ebp + 0xf]
add esp, 0xc
mov byte [0x20027676], dl
xor cl, cl
mov eax, 1
mov dl, byte [eax + 0x20027658]
xor dl, byte [eax + 0x20027659]
add eax, 6
xor dl, byte [eax + 0x20027654]
xor dl, byte [eax + 0x20027655]
xor dl, byte [eax + 0x20027657]
xor dl, cl
xor dl, byte [eax + 0x20027656]
cmp eax, 0x1e
mov cl, dl
jle 0x20005d80
push 0x1000
push 0
push 0x20028760
mov byte [0x20027677], cl
call fcn.200132c0
add esp, 0xc
call fcn.20003b30
cmp byte [0x20028764], 4
jne 0x20005fda
cmp byte [0x20028765], 0xff
jne 0x20005fda
mov eax, 1
jmp 0x20005fe1
push 0x3ff
lea eax, [esp + 0x905]
push 0
push eax
mov byte [esp + 0x90c], 0
call fcn.200132c0
push 0x3fe
lea ecx, [esp + 0x512]
push 0
push ecx
mov byte [esp + 0x518], 4
mov byte [esp + 0x519], 0xff
call fcn.200132c0
movzx eax, byte [esp + 0x28]
movzx edx, byte [esp + 0x2c]
mov cl, byte [esp + 0xd28]
mov byte [esp + 0x51b], al
movzx eax, byte [ebx + 1]
mov byte [esp + 0x51a], dl
movzx edx, byte [ebx]
mov byte [esp + 0x51c], cl
movzx ecx, byte [ebx + 2]
mov byte [esp + 0x51e], al
movzx eax, byte [ebx + 4]
mov byte [esp + 0x51d], dl
movzx edx, byte [ebx + 3]
mov byte [esp + 0x51f], cl
movzx ecx, byte [ebx + 5]
mov byte [esp + 0x521], al
movzx eax, byte [ebp + 1]
mov byte [esp + 0x520], dl
movzx edx, byte [ebp]
mov byte [esp + 0x522], cl
movzx ecx, byte [ebp + 2]
mov byte [esp + 0x524], al
movzx eax, byte [ebp + 4]
mov byte [esp + 0x523], dl
movzx edx, byte [ebp + 3]
mov byte [esp + 0x525], cl
movzx ecx, byte [ebp + 5]
mov byte [esp + 0x527], al
movzx eax, byte [ebp + 7]
mov byte [esp + 0x526], dl
movzx edx, byte [ebp + 6]
mov byte [esp + 0x528], cl
movzx ecx, byte [ebp + 8]
mov byte [esp + 0x52a], al
movzx eax, byte [ebp + 0xa]
mov byte [esp + 0x529], dl
movzx edx, byte [ebp + 9]
mov byte [esp + 0x52b], cl
movzx ecx, byte [ebp + 0xb]
mov byte [esp + 0x52d], al
movzx eax, byte [ebp + 0xd]
mov byte [esp + 0x52c], dl
movzx edx, byte [ebp + 0xc]
add esp, 0x18
mov byte [esp + 0x516], cl
movzx ecx, byte [ebp + 0xe]
mov byte [esp + 0x518], al
push 0x1b
lea eax, [esp + 0x504]
mov byte [esp + 0x51b], dl
movzx edx, byte [ebp + 0xf]
push eax
mov byte [esp + 0x521], cl
mov ecx, dword [0x2002a21c]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x2002a224]
mov byte [esp + 0x52e], dl
mov edx, dword [0x2002a220]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.20004060
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, 0x1f
jne 0x20005fe1
mov ecx, dword [0x2002a21c]
lea edx, [esp + 0x10]
push edx
mov edx, dword [0x2002a220]
lea eax, [esp + 0x904]
push eax
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x2002a224]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.20004150
add esp, 0x14
test eax, eax
jne 0x20005fda
cmp byte [esp + 0x900], 4
jne 0x20005fda
cmp byte [esp + 0x901], 0xff
jne 0x20005fda
mov eax, 1
jmp 0x20005fe1
xor eax, eax
jmp 0x20005fe1
or eax, 0xffffffff
mov ecx, dword [esp + 0xd00]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.20012ef0
add esp, 0xcf4
ret 0x14