Function at 0x418c80
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov dword [esp + 0x4c], 0
mov dword [esp], 0
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x6648b565]
xor ecx, eax
add ecx, 0xcdba54b7
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x6648b565], cl
inc eax
cmp eax, 0x6648b56d
jne 0x418cb0
mov eax, dword [esp + 4]
mov ecx, dword [0x447604]
test ecx, ecx
je 0x418d22
xor edx, edx
mov esi, dword [0x447608]
cmp dword [esi + edx*8], 0xa896961c
je 0x418d00
inc edx
cmp ecx, edx
jne 0x418cf0
jmp 0x418d22
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x418d22
mov eax, esp
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44760c]
call fcn.00439030
add esp, 0x1c
test eax, eax
jns 0x418df0
mov dword [esp + 4], 0xdc1b1a95
mov ecx, 0x91
mov edx, 0x6e
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x8d]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0x78
mov byte [esp + ecx - 0x8d], bl
inc ecx
dec edx
cmp ecx, 0x95
jne 0x418d40
cmp eax, dword [esp + 4]
jne 0x418df0
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x6648b565]
xor ecx, eax
add ecx, 0xcdba54b7
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x6648b565], cl
inc eax
cmp eax, 0x6648b56d
jne 0x418d80
mov eax, dword [0x447604]
test eax, eax
je 0x418df0
mov ecx, dword [esp + 4]
xor edx, edx
mov esi, dword [0x447608]
nop
cmp dword [esi + edx*8], 0xb7c1bb11
je 0x418dd0
inc edx
cmp eax, edx
jne 0x418dc0
jmp 0x418df0
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x418df0
mov ecx, esp
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x44760c]
call fcn.00439030
add esp, 0x18
mov ecx, dword [esp]
test ecx, ecx
je 0x4193fe
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6648b565]
xor edx, eax
add edx, 0xcdba54b7
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x6648b565], dl
inc eax
cmp eax, 0x6648b56d
jne 0x418e10
mov eax, dword [esp + 4]
mov edx, dword [0x447604]
test edx, edx
je 0x418e85
xor esi, esi
mov edi, dword [0x447608]
cmp dword [edi + esi*8], 0x6e83e51e
je 0x418e60
inc esi
cmp edx, esi
jne 0x418e50
jmp 0x418e85
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x418e85
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44760c]
call fcn.00439030
add esp, 0x20
mov dword [esp + 0x54], eax
mov dword [esp + 4], 0xa6e5e4c0
mov ecx, 0x32dcf3b
mov ebp, 0xfcd230c4
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x32dcf37]
lea esi, [edx + edx]
not esi
add esi, edx
mov ebx, ebp
or ebx, edx
and esi, ecx
not ebx
lea eax, [ebp + 0x32dd000]
mov edi, edx
not edi
or edi, eax
add edi, edx
inc edi
or edi, ebx
or edi, esi
mov eax, edi
and eax, 0x27
xor edi, 0xe6918627
lea ebx, [edi + eax*2]
and edi, 1
or ebx, 1
add ebx, edi
mov byte [esp + ecx - 0x32dcf37], bl
inc ecx
dec ebp
cmp ecx, 0x32dcf3f
jne 0x418ea0
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 4]
jne 0x418fdb
push dword [esp + 0x38]
call fcn.004375a0
add esp, 4
mov esi, dword [esp + 0x38]
mov edx, dword [esp]
mov dword [esp + 4], 0x2b2c2d2e
mov ecx, 0x6648b569
nop
movzx edi, byte [esp + ecx - 0x6648b565]
xor edi, ecx
add edi, 0xcdba54b7
mov ebx, edi
and ebx, 1
xor edi, 1
lea ebx, [edi + ebx*2]
mov byte [esp + ecx - 0x6648b565], bl
inc ecx
cmp ecx, 0x6648b56d
jne 0x418f20
mov ecx, dword [esp + 4]
mov edi, dword [0x447604]
test edi, edi
je 0x418faa
xor ebx, ebx
mov ebp, dword [0x447608]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x6e83e51e
je 0x418f81
inc ebx
cmp edi, ebx
jne 0x418f70
jmp 0x418faa
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x418faa
lea ecx, [esp + 0x38]
push ecx
push esi
push eax
push 1
push edx
push 0x14
push edi
push dword [0x44760c]
mov esi, eax
call fcn.00439030
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x418fd2
mov ecx, dword [eax]
test ecx, ecx
je 0x418fd2
cmp byte [ecx], 1
jne 0x418fd2
cmp byte [ecx + 1], 0xf
ja 0x418fd2
cmp byte [ecx + 7], 5
jne 0x418fd2
cmp byte [ecx + 8], 0x12
jne 0x418fd2
mov ecx, dword [esp]
mov dword [esp + 0x4c], ecx
push eax
call fcn.004375e0
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x419400
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [0x4462dc]
mov dword [esp + 4], 0x49ec47e7
mov dword [esp + 8], 0x4ded4bdc
mov dword [esp + 0xc], 0xb1194fde
mov dword [esp + 0x10], 0xb5e6b3e1
mov dword [esp + 0x14], 0xb91cb7d8
mov dword [esp + 0x18], 0xbd10bb16
mov word [esp + 0x1c], 0xbfbe
mov ecx, 0xb7d2df6
nop
nop
movzx esi, byte [esp + ecx - 0xb7d2df2]
xor esi, 0x2f3b8ef6
mov edi, ecx
and edi, 0xb390ef6
or edi, 0x10401000
mov edx, ecx
and edx, 0x442109
xor edx, edi
xor edx, 0x3f7b9ef6
mov edi, esi
and edi, edx
add edx, esi
add edi, edi
sub edx, edi
mov esi, edx
xor esi, 0x5be96fb1
and edx, 0x2416904e
add edx, edx
sub edx, esi
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + ecx - 0xb7d2df2], dl
inc ecx
cmp ecx, 0xb7d2e10
jne 0x419040
lea ecx, [esp + 4]
push 0x800
push 0
push ecx
call eax
lea ecx, [esp + 0x84]
push eax
call fcn.00438a00
test al, al
je 0x419247
mov dword [esp + 0x74], 1
mov dword [esp + 0x80], 2
push 0x10a6c058
push dword [esp + 0x88]
call fcn.0043a7f0
add esp, 8
mov dword [esp + 4], 0xcea8ccb8
mov dword [esp + 8], 0xc25cc0b6
mov dword [esp + 0xc], 0xc6a0c453
mov dword [esp + 0x10], 0xfa6af855
mov dword [esp + 0x14], 0xfe63fc64
mov dword [esp + 0x18], 0xf265f09e
mov dword [esp + 0x1c], 0xf685f496
mov dword [esp + 0x20], 0xea70e865
mov dword [esp + 0x24], 0xee74ec7d
mov dword [esp + 0x28], 0xe284e073
mov dword [esp + 0x2c], 0xe680e484
mov word [esp + 0x30], 0x18e7
xor ecx, ecx
nop
nop
movzx edx, byte [esp + ecx + 4]
lea ebx, [ecx - 0x5c09ebad]
mov edi, 0xac
sub edi, ecx
or edi, edx
lea ebp, [ecx*2 + 0x47ec28a6]
mov esi, 0x2c
sub esi, ecx
and esi, 0x31
and ebx, 0xce
or ebx, esi
sub ebp, ecx
add ebp, 0xad
xor ebx, 0x31
and ebx, ebp
not edx
or edx, ebx
and edx, edi
mov bl, 0x67
sub bl, dl
mov byte [esp + ecx + 4], bl
mov edx, ecx
or edx, 0xbc7d1641
and ecx, 1
add ecx, edx
add ecx, 0x4382e9c0
cmp ecx, 0x2e
jb 0x419150
lea ecx, [esp + 0x78]
push ecx
lea ebp, [esp + 8]
push ebp
push 0
call eax
test eax, eax
je 0x419387
mov ecx, dword [esp]
mov dword [esp + 0x64], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6648b505]
xor edx, eax
add edx, 0xcdba54b7
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x6648b505], dl
inc eax
cmp eax, 0x6648b56d
jne 0x4191e0
mov eax, dword [esp + 0x64]
mov edx, dword [0x447604]
test edx, edx
je 0x4192ee
xor edi, edi
mov ebx, dword [0x447608]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x4b501129
je 0x4192c7
inc edi
cmp edx, edi
jne 0x419230
jmp 0x4192ee
mov ecx, dword [esp]
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6648b565]
xor edx, eax
add edx, 0xcdba54b7
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x6648b565], dl
inc eax
cmp eax, 0x6648b56d
jne 0x419260
mov eax, dword [0x447604]
test eax, eax
je 0x4193fe
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x447608]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41940b
inc esi
cmp eax, esi
jne 0x4192b0
jmp 0x4193fe
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x4192ee
lea eax, [esp + 0x74]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x44760c]
call fcn.00439030
add esp, 0x24
test eax, eax
js 0x419387
push dword [esp + 0x84]
call dword [0x4463f0]
mov eax, dword [esp]
mov dword [esp + 4], 0x2b2c2d2e
mov ecx, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x6648b565]
xor edx, ecx
add edx, 0xcdba54b7
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + ecx - 0x6648b565], dl
inc ecx
cmp ecx, 0x6648b56d
jne 0x419320
mov ecx, dword [0x447604]
test ecx, ecx
je 0x419445
mov edx, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x447608]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x41942b
inc edi
cmp ecx, edi
jne 0x419370
jmp 0x419445
push dword [esp + 0x84]
call dword [0x4463f0]
mov ecx, dword [esp]
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6648b565]
xor edx, eax
add edx, 0xcdba54b7
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x6648b565], dl
inc eax
cmp eax, 0x6648b56d
jne 0x4193b0
mov eax, dword [0x447604]
test eax, eax
je 0x4193fe
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x447608]
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41940b
inc esi
cmp eax, esi
jne 0x4193f0
xor eax, eax
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi + esi*8 + 4]
xor eax, eax
cmp esi, edx
je 0x419400
push ecx
push 4
push esi
push dword [0x44760c]
call fcn.00439030
xor eax, eax
add esp, 0x10
jmp 0x419400
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x419445
push eax
push 4
push ecx
push dword [0x44760c]
call fcn.00439030
add esp, 0x10
mov dword [esp + 0x5c], 0
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x6648b565]
xor ecx, eax
add ecx, 0xcdba54b7
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x6648b565], cl
inc eax
cmp eax, 0x6648b56d
jne 0x419460
mov eax, dword [esp + 4]
mov ecx, dword [0x447604]
test ecx, ecx
je 0x4194d4
xor edx, edx
mov edi, dword [0x447608]
cmp dword [edi + edx*8], 0x67f3d776
je 0x4194b0
inc edx
cmp ecx, edx
jne 0x4194a0
jmp 0x4194d4
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x4194d4
lea eax, [esp + 0x5c]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x44760c]
call fcn.00439030
add esp, 0x1c
mov dword [esp + 4], 0xd190afaa
xor ecx, ecx
xor edx, edx
mov ebx, ecx
and bl, 0xfc
add bl, dl
mov bh, cl
or bh, 0xa2
sub bl, bh
xor bl, byte [ebp]
add bl, 0x10
mov byte [ebp], bl
inc dl
add ecx, 2
inc ebp
cmp ecx, 8
jne 0x4194e0
cmp eax, dword [esp + 4]
jne 0x419c84
push dword [esp + 0x5c]
call fcn.004375a0
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
movzx edx, byte [esp + eax - 0x6648b565]
xor edx, eax
add edx, 0xcdba54b7
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x6648b565], dl
inc eax
cmp eax, 0x6648b56d
jne 0x419530
mov eax, dword [esp + 4]
mov edx, dword [0x447604]
test edx, edx
je 0x4195a2
xor esi, esi
mov edi, dword [0x447608]
cmp dword [edi + esi*8], 0x67f3d776
je 0x419580
inc esi
cmp edx, esi
jne 0x419570
jmp 0x4195a2
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x4195a2
push 0
push ecx
push dword [esp + 0x58]
push 5
push 0x10
push edx
push dword [0x44760c]
call fcn.00439030
add esp, 0x1c
test eax, eax
js 0x419c78
mov esi, dword [esp + 0x50]
mov edi, dword [esi]
lea ebp, [esp + 0x64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + edi + 0x44]
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov ecx, ebp
push 0
push eax
call fcn.004378a0
mov ecx, ebp
push 0x1000
call fcn.004378c0
test eax, eax
js 0x419c5e
mov dword [esp + 0x54], edi
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6648b565]
xor edx, eax
add edx, 0xcdba54b7
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + eax - 0x6648b565], dl
inc eax
cmp eax, 0x6648b56d
jne 0x419620
mov eax, dword [esp + 4]
mov edx, dword [0x447604]
test edx, edx
je 0x419691
xor edi, edi
mov ebx, dword [0x447608]
cmp dword [ebx + edi*8], 0xb7c1bb11
je 0x419670
inc edi
cmp edx, edi
jne 0x419660
jmp 0x419691
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419691
lea eax, [esp + 0x48]
push eax
push 0xa
push ecx
push 0xc
push edx
push dword [0x44760c]
call fcn.00439030
add esp, 0x18
test eax, eax
js 0x419c5a
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], 0x2b2c2d2e
mov eax, 0x6648b569
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6648b565]
xor edx, eax
add edx, 0xcdba54b7
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + eax - 0x6648b565], dl
inc eax
cmp eax, 0x6648b56d
jne 0x4196b0
mov eax, dword [esp + 4]
mov edx, dword [0x447604]
test edx, edx
je 0x419725
xor edi, edi
mov ebx, dword [0x447608]
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x419700
inc edi
cmp edx, edi
jne 0x4196f0
jmp 0x419725
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419725
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44760c]
call fcn.00439030
add esp, 0x20
mov dword [esp + 4], 0x62a1a0cc
mov ecx, 0x38
lea edx, [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [edx]
mov ebx, edi
not ebx
mov ebp, ebx
and ebp, 0x2f
or ebx, 0xd0
add ebx, edi
inc ebx
or ebx, ebp
xor ebx, ecx
add bl, 0x48
mov byte [edx], bl
dec ecx
inc edx
cmp ecx, 0x34
jne 0x419740
cmp eax, dword [esp + 4]
lea ebp, [esp + 0x64]
jne 0x419bc6
push dword [esp + 0x38]
call fcn.004375a0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov dword [esp + 4], 0x2b2c2d2e
mov ecx, 0x6648b569
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x6648b565]
xor edx, ecx
add edx, 0xcdba54b7
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + ecx - 0x6648b565], dl
inc ecx
cmp ecx, 0x6648b56d
jne 0x4197a0
mov ecx, dword [esp + 4]
mov edi, dword [0x447604]
test edi, edi
je 0x41982f
mov dword [esp + 0x44], eax
mov eax, ebx
xor edx, edx
mov ebx, dword [0x447608]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x6e83e51e
je 0x419802
inc edx
cmp edi, edx
jne 0x4197f0
mov ebx, eax
jmp 0x41982f
mov edi, dword [ebx + edx*8 + 4]
cmp edi, ecx
mov ebx, eax
je 0x41982f
lea ecx, [esp + 0x38]
push ecx
push dword [esp + 0x38]
push ebx
push 1
push dword [esp + 0x54]
push 0x14
push edi
push dword [0x44760c]
call fcn.00439030
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x419bbd
mov ecx, dword [ebx]
test ecx, ecx
je 0x419bbd
cmp byte [ecx], 1
jne 0x419bbd
cmp byte [ecx + 1], 0xf
ja 0x419bbd
cmp byte [ecx + 7], 5
jne 0x419bbd
cmp byte [ecx + 8], 0x12
jne 0x419bbd
mov edx, dword [esp + 0x48]
mov dword [esp + 4], 0x2b2c2d2e
mov ecx, 0x6648b569
movzx eax, byte [esp + ecx - 0x6648b565]
xor eax, ecx
add eax, 0xcdba54b7
mov edi, eax
and edi, 1
xor eax, 1
lea eax, [eax + edi*2]
mov byte [esp + ecx - 0x6648b565], al
inc ecx
cmp ecx, 0x6648b56d
jne 0x419879
mov ecx, dword [esp + 4]
mov edi, dword [0x447604]
test edi, edi
je 0x4198fc
mov dword [esp + 0x34], edx
mov edx, ebx
xor ebx, ebx
mov eax, dword [0x447608]
cmp dword [eax + ebx*8], 0x6e83e51e
je 0x4198d0
inc ebx
cmp edi, ebx
jne 0x4198be
mov ebx, edx
jmp 0x4198fc
mov edi, dword [eax + ebx*8 + 4]
cmp edi, ecx
mov ebx, edx
je 0x4198fc
lea eax, [esp + 0x58]
push eax
push 0
push 0
push 3
push dword [esp + 0x44]
push 0x14
push edi
push dword [0x44760c]
call fcn.00439030
add esp, 0x20
mov ecx, eax
mov dword [esp + 4], 0xc8b7b656
xor edx, edx
mov eax, edx
add al, 0x5d
xor al, byte [esp + edx + 4]
add al, 0x18
mov byte [esp + edx + 4], al
inc edx
cmp edx, 4
jne 0x419906
cmp ecx, dword [esp + 4]
jne 0x419bbd
mov dword [esp + 0x8c], ebx
push dword [esp + 0x58]
call fcn.004375a0
add esp, 4
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], 0x2b2c2d2e
mov ecx, 0x6648b569
movzx eax, byte [esp + ecx - 0x6648b565]
xor eax, ecx
add eax, 0xcdba54b7
mov edi, eax
and edi, 1
xor eax, 1
lea eax, [eax + edi*2]
mov byte [esp + ecx - 0x6648b565], al
inc ecx
cmp ecx, 0x6648b56d
jne 0x419950
mov ecx, dword [esp + 4]
mov edi, dword [0x447604]
test edi, edi
je 0x4199cf
mov dword [esp + 0x34], ebx
xor ebx, ebx
mov eax, dword [0x447608]
cmp dword [eax + ebx*8], 0x6e83e51e
je 0x4199a3
inc ebx
cmp edi, ebx
jne 0x419993
jmp 0x4199cf
mov edi, dword [eax + ebx*8 + 4]
cmp edi, ecx
je 0x4199cf
lea eax, [esp + 0x58]
push eax
push edx
mov eax, dword [esp + 0x4c]
push eax
push 3
push dword [esp + 0x44]
push 0x14
push edi
push dword [0x44760c]
call fcn.00439030
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x419baa
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
test ecx, ecx
je 0x419baa
movzx edx, byte [esp + 0x78]
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x34], al
movzx eax, byte [esp + 0x7a]
mov byte [esp + 0x43], al
movzx eax, byte [esp + 0x7b]
mov byte [esp + 0x42], al
movzx eax, byte [esp + 0x7c]
mov byte [esp + 0x41], al
movzx eax, byte [esp + 0x7d]
mov byte [esp + 0x40], al
movzx eax, byte [esp + 0x7e]
mov byte [esp + 0x3f], al
movzx eax, byte [esp + 0x7f]
mov byte [esp + 0x3e], al
mov eax, dword [esp + 0x44]
add eax, 0xb
mov dh, byte [eax - 7]
mov ebx, edx
cmp dh, dl
jne 0x419a93
mov dh, byte [eax - 6]
mov bh, byte [esp + 0x34]
mov bl, bh
cmp dh, bh
jne 0x419a93
mov dh, byte [eax - 5]
mov bh, byte [esp + 0x43]
mov bl, bh
cmp dh, bh
jne 0x419a93
mov dh, byte [eax - 4]
mov bh, byte [esp + 0x42]
mov bl, bh
cmp dh, bh
jne 0x419a93
mov dh, byte [eax - 3]
mov bh, byte [esp + 0x41]
mov bl, bh
cmp dh, bh
jne 0x419a93
mov dh, byte [eax - 2]
mov bh, byte [esp + 0x40]
mov bl, bh
cmp dh, bh
jne 0x419a93
mov dh, byte [eax - 1]
mov bh, byte [esp + 0x3f]
mov bl, bh
cmp dh, bh
jne 0x419a93
mov dh, byte [eax]
mov bh, byte [esp + 0x3e]
mov bl, bh
cmp dh, bh
je 0x419aba
movzx edi, dh
movzx ebx, bl
mov ebp, ebx
not ebp
and ebp, edi
add ebp, ebp
xor ebx, edi
cmp ebp, ebx
je 0x419aba
add eax, 0xc
dec ecx
lea ebp, [esp + 0x64]
jne 0x419a30
jmp 0x419baa
mov dword [esp + 0x90], 0xc
mov dword [esp + 0x94], 2
mov word [esp + 0x98], 1
mov dword [esp + 4], 0x18
lea eax, [esp + 8]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
lea eax, [esp + 0x90]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x60], 0x2b2c2d2e
mov eax, 0x6648b569
movzx edx, byte [esp + eax - 0x6648b509]
xor edx, eax
add edx, 0xcdba54b7
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + eax - 0x6648b509], dl
inc eax
cmp eax, 0x6648b56d
jne 0x419b1d
mov eax, dword [esp + 0x60]
mov edx, dword [0x447604]
test edx, edx
je 0x419b9a
xor edi, edi
mov ebx, dword [0x447608]
cmp dword [ebx + edi*8], 0x4d7e2c49
je 0x419b6d
inc edi
cmp edx, edi
jne 0x419b5d
jmp 0x419b9a
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419b9a
lea eax, [esp + 0x4c]
push eax
push 2
push 0
lea eax, [esp + 0x10]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x44760c]
call fcn.00439030
add esp, 0x24
test eax, eax
jns 0x419ba6
mov dword [esp + 0x4c], 0
lea ebp, [esp + 0x64]
push dword [esp + 0x44]
call fcn.004375e0
add esp, 4
mov ebx, dword [esp + 0x8c]
push ebx
call fcn.004375e0
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp + 4], 0x2b2c2d2e
mov ecx, 0x6648b569
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x6648b565]
xor edx, ecx
add edx, 0xcdba54b7
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + ecx - 0x6648b565], dl
inc ecx
cmp ecx, 0x6648b56d
jne 0x419be0
mov ecx, dword [0x447604]
test ecx, ecx
je 0x419c5a
mov edx, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x447608]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x419c40
inc edi
cmp ecx, edi
jne 0x419c30
jmp 0x419c5a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x419c5a
push eax
push 4
push ecx
push dword [0x44760c]
call fcn.00439030
add esp, 0x10
mov edi, dword [esp + 0x54]
mov ecx, ebp
call fcn.004379f0
cmp dword [esp + 0x4c], 0
jne 0x419c78
add esi, edi
mov edi, dword [esi]
test edi, edi
jne 0x4195c0
push dword [esp + 0x50]
call fcn.004375e0
add esp, 4
mov eax, dword [esp + 0x4c]
jmp 0x419400