Function at 0x411460
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov dword [ebp - 0x34], 0x8687d
mov dword [ebp - 0x60], 0xb6473
mov dword [ebp - 0x54], 0x82bf6
mov dword [ebp - 0xc], 0x86f2c
mov dword [ebp - 0x20], 0x4df1f
mov dword [ebp - 0x40], 0x9bc8f
mov dword [ebp - 0x44], 0x4c885
mov dword [ebp - 0x50], 0xb4fe7
mov dword [ebp - 0x58], 0xde1a0
mov dword [ebp - 4], 0x686ce
mov dword [ebp - 0x4c], 0xd9986
mov dword [ebp - 0x64], 0xbfb3d
mov dword [ebp - 0x2c], 0x10706
mov dword [ebp - 0x30], 0xe77cc
mov dword [ebp - 0x14], 0xad811
mov dword [ebp - 0x38], 0x2a00e
mov dword [ebp - 0x28], 0xa88e8
mov dword [ebp - 0x1c], 0x1ebb1
mov dword [ebp - 0x18], 0xe8e5b
mov dword [ebp - 0x24], 0x97b1e
mov dword [ebp - 0x10], 0xb2c7d
mov dword [ebp - 0x3c], 0xdd479
mov dword [ebp - 8], 0x1395b
mov dword [ebp - 0x5c], 0x3232f
mov dword [ebp - 0x48], 0x29a13
cmp dword [ebp - 0x58], 0xde1a1
jge 0x41173a
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x38]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x5c]
or edx, 0xf000e
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x20]
sub eax, 0xe3c27
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x5c]
and ecx, 0xa1841
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x10715
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x48], 0x43419
je 0x4116d9
mov eax, dword [ebp - 0x10]
xor eax, 0x9bb6c
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0x14]
and ecx, 0xb7999
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp + 0x10]
and edx, dword [ebp + 0x14]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
and ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
cmp dword [ebp - 0xc], 0xaf745
je 0x4116d9
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp + 0x18]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0xc]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
or ecx, 0x51072
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0x14]
xor edx, 0xebcb6
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x20]
add eax, 0x1085
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x294b
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x38], edx
cmp dword [ebp + 0x18], 0xb0fe
jge 0x4116d9
mov eax, dword [ebp - 0x4c]
add eax, 0xf2551
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x3c]
or ecx, 0x2974d
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 4]
and edx, 0x3089d
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0xc9cdb
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x50]
and edx, 0x467bd
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x4c], 0xed335
je 0x4116d9
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x610da
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 4]
xor edx, dword [ebp - 0x5c]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x48]
or eax, 0x7dbd0
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x2c], 0x87e1a
jne 0x4116d9
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x40]
or edx, dword [ebp + 0x10]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x64]
add eax, 0xa50ed
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp + 8]
or ecx, 0xbe533
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp + 0x18]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 8]
and ecx, 0xe6a5f
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x58]
add eax, 1
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x2c]
or ecx, 0x33fe7
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x54]
sub edx, 0xec8a3
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x14]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
add eax, 0xaa772
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34]
and ecx, 0x42823
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp + 8]
mov dword [ebp - 4], edx
jmp 0x411515
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 0x10]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp + 0x14]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x4c]
sub edx, 0x73721
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x14]
and eax, 0x861ee
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x30], 0x51f6c
jne 0x411911
mov edx, dword [ebp - 0x10]
and edx, dword [ebp - 0x50]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x28]
or eax, 0x22ff6
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 0x14]
add ecx, 0x374db
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp + 0xc]
xor edx, 0x5e4ca
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
sub eax, 0x88751
mov dword [ebp - 4], eax
cmp dword [ebp - 0x50], 0xb5b27
jle 0x411911
mov ecx, dword [ebp - 0x44]
xor ecx, 0x2e067
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x1c]
or edx, 0x8e9ff
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 8], 0x6c590
jle 0x411911
mov eax, dword [ebp - 0x10]
xor eax, 0xb023c
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0x14]
xor ecx, dword [ebp + 0x14]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x18]
and edx, dword [ebp - 0x3c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
or ecx, dword [ebp - 0x2c]
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x40], 0x61da4
jne 0x411911
mov edx, dword [ebp - 0x1c]
xor edx, 0xc4721
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x40]
sub ecx, 0x1bf6e
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
sub eax, 0x4c057
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
and ecx, dword [ebp + 0x18]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x48], 0xae89e
jne 0x411911
mov edx, dword [ebp + 0x10]
or edx, dword [ebp - 0x3c]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x30]
or ecx, 0x22df3
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x24]
and edx, dword [ebp + 0x10]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x40]
add eax, 0x8a550
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x50], 0xc8063
jle 0x411911
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp - 0x58]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp - 0x4c]
and edx, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x44]
sub eax, 0x6fffc
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xc]
xor ecx, 0xd1f92
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
xor edx, 0x633bd
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0x18]
add eax, 0xc7d89
mov dword [ebp + 0x18], eax
cmp dword [ebp - 0x64], 0x177ab
jge 0x411911
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 8]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp + 0x14]
sub ecx, 1
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x54]
xor eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp - 0x54]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x2d7d7
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0xc]
add eax, 0xf3b61
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x2c]
or ecx, dword [ebp + 8]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x50]
or edx, dword [ebp + 8]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x24], 0x2ac9c
jne 0x411999
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
or edx, 0x3a56a
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0x18]
or eax, 0xdb56c
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x3c], 0xdd47a
jl 0x41173a
mov eax, dword [ebp - 0x60]
xor eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x28]
and ecx, 0x70582
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0xf0179
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x28]
and ecx, dword [ebp - 0x40]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x14]
or edx, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 4], 0xda906
je 0x411a78
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x14]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 8]
or ecx, 0x821f2
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x58]
or edx, dword [ebp - 0x38]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x6e582
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x5c], 0x472f0
jle 0x411a78
mov edx, dword [ebp - 0x14]
xor edx, 0xde810
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
add eax, 0xa428a
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x30]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 0x30]
sub edx, 0x89587
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0xc]
xor ecx, 0x2dace
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x58]
xor edx, 0x51623
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0x79e68
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x60]
sub edx, 0xabe5a
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x10], 0x3c750
jl 0x4119a6
cmp dword [ebp + 0x10], 0x201a
jge 0x411e19
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x24]
or edx, 0x50cc1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 4]
sub eax, 0x2a92b
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp + 0x14]
or edx, 0x4f2d1
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x48]
sub eax, 0x6ac39
mov dword [ebp - 0x48], eax
cmp dword [ebp + 0xc], 0x62dbe
jge 0x411b22
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0xc]
and edx, dword [ebp - 0x54]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0xc]
sub eax, 0x28a3e
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0x10]
add ecx, 1
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp - 0x50]
or edx, 0xc06d8
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x24]
add eax, 0x103cf
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x38]
xor edx, 0x9bd57
mov dword [ebp - 0x38], edx
mov eax, dword [ebp + 0x18]
xor eax, dword [ebp - 0x1c]
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x28]
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x24], 0xa99d2
jle 0x411e14
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp + 8]
or eax, dword [ebp - 0x3c]
mov dword [ebp + 8], eax
cmp dword [ebp - 0x1c], 0xe9ed2
jne 0x411e14
mov ecx, dword [ebp - 0xc]
sub ecx, 0xcd55c
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x54]
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x2c], 0xad101
jne 0x411e14
mov eax, dword [ebp - 0x64]
or eax, 0x944d2
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x3c]
or ecx, 0x5d9a8
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp + 0x14]
xor edx, dword [ebp - 0xc]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp + 0x18]
mov dword [ebp - 0x44], eax
cmp dword [ebp + 0x14], 0x2d4ca
je 0x411e14
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x28]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0x18]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
and ecx, dword [ebp - 0x4c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x18]
xor edx, 0xc75a1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 4], 0x37c76
jne 0x411e14
mov eax, dword [ebp - 8]
and eax, 0x184a5
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x44]
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x24], 0x1acf1
je 0x411e14
mov eax, dword [ebp - 0x28]
and eax, 0x6494b
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 0x14]
xor ecx, 0x60213
mov dword [ebp + 0x14], ecx
cmp dword [ebp - 0x44], 0x15eee
je 0x411e14
mov edx, dword [ebp - 0xc]
sub edx, 0xa3dea
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x28], 0xda22c
jge 0x411e14
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x20]
xor edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp + 0xc]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x6f8b8
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x38], 0x2e7b8
je 0x411e14
mov edx, dword [ebp - 8]
xor edx, 0x7059a
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0x18]
xor eax, 0x4ea62
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x20]
or edx, dword [ebp + 0x10]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x18]
sub eax, 0x49b88
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp - 0x5c]
and ecx, dword [ebp - 8]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp + 0x14]
and edx, 0xc3a89
mov dword [ebp + 0x14], edx
cmp dword [ebp - 0x18], 0xd98b1
jne 0x411e14
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp - 8]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x4c]
and edx, 0xf1c64
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x34]
xor eax, dword [ebp + 0xc]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
or ecx, 0x5500e
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 4]
or edx, dword [ebp + 8]
mov dword [ebp - 4], edx
cmp dword [ebp - 0x3c], 0x7c97e
jle 0x411e14
mov eax, dword [ebp + 0x14]
xor eax, dword [ebp - 0x1c]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp + 0x14]
and ecx, 0x31d0d
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x18]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp + 0x14]
and eax, dword [ebp - 0x20]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp + 0x14]
or ecx, dword [ebp - 0x1c]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0xc]
and edx, dword [ebp - 0x40]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
or eax, dword [ebp - 0x48]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x38], 0x16b60
je 0x411e14
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x40]
mov dword [ebp - 0x18], edx
cmp dword [ebp + 0xc], 0x2dc74
jle 0x411e14
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x20]
or eax, 0x8212d
mov dword [ebp - 0x20], eax
jmp 0x411aaf
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
and eax, 0x7d5a9
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x54]
add ecx, 1
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 8]
sub eax, 0x37128
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x24]
and ecx, 0xe5e5c
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x38]
xor eax, dword [ebp - 4]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
cmp dword [ebp + 0xc], 0x222c40
jl 0x411e19
mov esp, ebp
pop ebp
ret